В дополнение к вышесказанному ...
(1) Различные способы ухода от тильды:
"~." escape отключит вас, если у вас есть pty (-t). Для длительной команды вы можете не дать кому-то случайно остановить процесс, если наберете ~.
$ ssh hostname.tomontime.com -t sleep 60
[type ~. и он отключается]
Соединение с hostname.tomontime.com закрыто.
$ ssh hostname -T sleep 60
[Я печатаю ~. и он обрабатывает его как обычные нажатия клавиш, которые команда sleep игнорирует.]
~.
~.
Попробуйте то же самое с CTRL-C. Вы увидите, что с помощью -t вы отправляете CTRL-C в «спящий режим». С помощью -T вы отправляете CTRL-C в программу ssh, работающую на вашем компьютере. Могут быть случаи, когда это имеет значение (т.е. программа обрабатывает INT иначе, чем HUP)
(2) Вы просто хотите минимизировать активность pty или сетевого подключения.
При попытке перезагрузить компьютер, на котором нет ptys, вы не хотите, чтобы система пыталась выделить pty! Это также минимизирует сетевые соединения, которые должны быть закрыты (задержка перезагрузки).
Это будет работать быстрее и надежнее:
ssh -T hostname reboot
Это может иметь проблемы:
ssh -t hostname reboot