Я пытался настроить SSH-соединение с Github, следуя этому руководству:
https://help.github.com/articles/testing-your-ssh-connection/
Я наткнулся на следующую команду:
$ ssh -T git@github.com
# Attempts to ssh to github
Любопытно, я посмотрел руководство по ssh. В нем говорилось следующее:
-T Disable pseudo-tty allocation.
Что такое выделение tty? Что означает tty? Почему мы его отключаем?
Я очень старался найти его, но не смог найти даже определения.
Ответы:
Как объяснено в « gitolite: запрос распределения PTY не прошел на канале 0 », важно выполнить тестовое соединение ssh
-T
, потому что какой-то сервер может полностью прервать транзакцию, если запрашивается текстовый терминал (tty) .-T
избегает запроса указанного терминала, поскольку GitHub не намерен предоставлять вам интерактивную безопасную оболочку, в которой вы можете вводить команду.GitHub хочет ответить только на ваш ssh-запрос, чтобы убедиться, что команда ssh действительно работает (у вас есть правильные публичные / частные ключи, и публичный ключ был зарегистрирован в вашей учетной записи GitHub )
PuTTy может быть примером эмулятора терминала , последовательной консоли и приложения для передачи файлов по сети. Он поддерживает несколько сетевых протоколов, включая SCP, SSH, Telnet и rlogin.
Имя "
PuTTY
" не имеет окончательного значения , хотя "tty" - это имя терминала в традиции Unix, обычно считающееся сокращением от Teletype .Другие варианты использования
-T
(помимо тестирования)ssh -fnT -L port:server:port user@server
(-f для фона: вы не хотите выполнять команду, вам не нужен TTY и вы просто хотите установить туннель)источник