A friend of mine has just failed while passing their programming work to the teacher just because Windows messed up the encoding of the text files used for testing the programs. Not sure if it's a bad thing he couldn't just SSH into a Linux box to do things just fine or that Windows uses different 8-bit encodings for text files for different locales.
I'm not sure if you mean "he couldn't ssh" or "why didn't he ssh? he should've done this"
At my university, most programming assignments have the following rule (explicitely mentioned in task description):
The solution must work (and will be checked) on the `students.mimuw.edu.pl` machine.
So all the students, no matter what they use on their computers, are expected to ssh there to test their solutions before submitting, and this is also where the teachers check it.
>SSHing too much work
As for checking in person - that wouldn't work here, because the teachers usually have automated tests prepared beforehand, which they don't want to disclose to the students.
We submit most our assignments by email or moodle, which is IMO pretty convenient.