@momo2x2018 There is no passenger train service to Middlebury at the moment, though this may change in the next couple of years.
Vermont Translines provides bus service between Albany, NY and Burlington which stops in Middlebury (one bus a day in each direction). The ACTR runs buses between Middlebury and Burlington a few times a day. Megabus and Greyhound both have service from Boston to Burlington.
There is no direct bus from Montreal to Middlebury - you take a bus from Montreal to Burlington, and then another to Middlebury. While it may be cheaper, if there are cheap flights to Montreal from a person’s city, it will take another 5 hours or so to get from Montreal to Middlebury. It is better to fly to Logan, and take a bus from there to Burlington.
There is a direct cab from Montreal to Middlebury, and it costs $250 (maybe, their website is not active, so I’m not sure whether they are in business). There is also a direct cab from Boston for the same price.