Что такое псевдо-TTY-выделение? (SSH и Github)


111

Я пытался настроить 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? Почему мы его отключаем?
Я очень старался найти его, но не смог найти даже определения.


1
Может это как-то связано с псевдотерминалами ? Кроме того, вы действительно не нашли ничего полезного при поиске в Google псевдо-tty-allocation ?

1
Кто знал, что псевдотерминалы имеют какое-то отношение к tty. Я действительно нашел эту ссылку, но подумал, что она не имеет ничего общего с распределением tty, хех. Спасибо!
user2316667

4
Я настраивал SSH-соединение, следовал тому же руководству, и мне понравилось, что это за опция -T, из любопытства я просмотрел страницу руководства ssh, а затем у меня возникли те же вопросы, что и у вас!
Сиддхартха

Ответы:


99

Как объяснено в « gitolite: запрос распределения PTY не прошел на канале 0 », важно выполнить тестовое соединение ssh -T, потому что какой-то сервер может полностью прервать транзакцию, если запрашивается текстовый терминал (tty) .

-T избегает запроса указанного терминала, поскольку GitHub не намерен предоставлять вам интерактивную безопасную оболочку, в которой вы можете вводить команду.

GitHub хочет ответить только на ваш ssh-запрос, чтобы убедиться, что команда ssh действительно работает (у вас есть правильные публичные / частные ключи, и публичный ключ был зарегистрирован в вашей учетной записи GitHub )

PuTTy может быть примером эмулятора терминала , последовательной консоли и приложения для передачи файлов по сети. Он поддерживает несколько сетевых протоколов, включая SCP, SSH, Telnet и rlogin.
Имя " PuTTY" не имеет окончательного значения , хотя "tty" - это имя терминала в традиции Unix, обычно считающееся сокращением от Teletype .


Другие варианты использования -T(помимо тестирования)


2
Спасибо. -T используется только для тестирования соединения, так как он позволяет избежать выделения tty?
Тим

6
@Tim Нет, это может быть полезно (для отключения tty) при передаче двоичных файлов ( serverfault.com/a/746638/783 ) или для выполнения команд на удаленном сервере ( unix.stackexchange.com/a/88616/7490 )
VonC
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.