Co to jest alokacja pseudo TTY? (SSH i Github)

111

Próbowałem skonfigurować połączenie SSH z Github zgodnie z tym samouczkiem:
https://help.github.com/articles/testing-your-ssh-connection/

Natknąłem się na następujące polecenie:

$ ssh -T [email protected] 
# Attempts to ssh to github

Zaciekawiony, zajrzałem do instrukcji ssh. Powiedział, co następuje:

 -T      Disable pseudo-tty allocation.

Co to jest alokacja tty? Co oznacza tty? Dlaczego go wyłączamy?
Poważnie próbowałem to sprawdzić, ale nie mogłem znaleźć nawet definicji.

user2316667
źródło
1
Może ma to coś wspólnego z pseudoterminalami ? Poza tym, czy naprawdę nie znalazłeś nic pożytecznego , gdy szukałeś w Google pseudo-alokacji tty ?
1
Kto by pomyślał, że pseudoterminale mają coś wspólnego z tty. Właściwie znalazłem ten link, ale pomyślałem, że nie ma to nic wspólnego z alokacją tty, heh. Dzięki!
user2316667
4
Konfigurowałem połączenie SSH, postępowałem zgodnie z tym samouczkiem i pomyślałem, co to za opcja -T, z ciekawości spojrzałem na stronę podręcznika ssh, a potem miałem te same pytania, co ty!
Siddhartha

Odpowiedzi:

99

Jak wyjaśniono w " gitolite: żądanie alokacji PTY nie powiodło się na kanale 0 ", ważne jest, aby wykonać połączenie testowe ssh -T, ponieważ jakiś serwer może całkowicie przerwać transakcję, jeśli zażądano terminalu tekstowego (tty) .

-T unika żądania wspomnianego terminala, ponieważ GitHub nie ma zamiaru oferować interaktywnej bezpiecznej powłoki, w której można by wpisać polecenie.

GitHub chce tylko odpowiedzieć na Twoje żądanie ssh, aby upewnić się, że polecenie ssh działa (masz odpowiednie klucze publiczne / prywatne, a publiczny został zarejestrowany na Twoim koncie GitHub )

PuTTy byłby przykładem emulatora terminala , konsoli szeregowej i aplikacji do przesyłania plików w sieci. Obsługuje kilka protokołów sieciowych, w tym SCP, SSH, Telnet i rlogin.
Nazwa „ PuTTY” nie ma ostatecznego znaczenia , chociaż „tty” to nazwa terminala w tradycji uniksowej, zwykle uważanej za skrót od Teletype .


Inne przypadki użycia -T(poza testowaniem)

VonC
źródło
2
dzięki. czy -T jest używane tylko do testowania połączenia, ponieważ pozwala uniknąć przydzielania tty?
Tim
6
@Tim Nie, może być przydatne (aby wyłączyć tty) podczas przesyłania plików binarnych ( serverfault.com/a/746638/783 ) lub do wykonywania poleceń na serwerze zdalnym ( unix.stackexchange.com/a/88616/7490 )
VonC,