Was ist Pseudo-TTY-Zuordnung? (SSH und Github)

111

Ich habe nach diesem Tutorial versucht, eine SSH-Verbindung mit Github herzustellen:
https://help.github.com/articles/testing-your-ssh-connection/

Ich bin auf folgenden Befehl gestoßen:

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

Neugierig schaute ich mir das SSH-Handbuch an. Es sagte folgendes:

 -T      Disable pseudo-tty allocation.

Was ist die Tty-Zuordnung? Wofür steht tty? Warum deaktivieren wir es?
Ich habe ernsthaft versucht, es nachzuschlagen, aber ich konnte nicht einmal eine Definition finden.

user2316667
quelle
1
Vielleicht hat es etwas mit Pseudo-Terminals zu tun ? Haben Sie auch wirklich nichts Nützliches gefunden, als Sie die Pseudo-Tty-Zuordnung gegoogelt haben ?
1
Wer wusste, dass Pseudo-Terminals etwas mit tty zu tun haben. Ich habe diesen Link tatsächlich gefunden, dachte aber, dass er nichts mit der Zuweisung zu tun hat, heh. Vielen Dank!
user2316667
4
Ich habe eine SSH-Verbindung eingerichtet, ich habe dasselbe Tutorial befolgt und ich war wie diese -T-Option. Aus Neugier habe ich mir die SSH-Manpage angesehen und dann hatte ich die gleichen Fragen, die Sie hatten!
Siddhartha

Antworten:

99

Wie in " gitolite: PTY-Zuweisungsanforderung auf Kanal 0 fehlgeschlagen " erläutert , ist es wichtig, eine SSH-Testverbindung mit durchzuführen -T, da ein Server die Transaktion vollständig abbrechen kann, wenn ein Textterminal (tty) angefordert wird.

-T vermeidet das Anfordern dieses Terminals, da GitHub nicht beabsichtigt, Ihnen eine interaktive sichere Shell zu geben, in die Sie einen Befehl eingeben können.

GitHub möchte nur auf Ihre SSH-Anfrage antworten, um sicherzustellen, dass der Befehl SSH funktioniert (Sie haben die richtigen öffentlichen / privaten Schlüssel und der öffentliche Schlüssel wurde in Ihrem GitHub-Konto registriert ).

PuTTy wäre ein Beispiel für einen Terminalemulator , eine serielle Konsole und eine Netzwerkdateiübertragungsanwendung. Es unterstützt verschiedene Netzwerkprotokolle, darunter SCP, SSH, Telnet und rlogin.
Der Name " PuTTY" hat keine definitive Bedeutung , obwohl "tty" der Name für ein Terminal in der Unix-Tradition ist, das normalerweise als Abkürzung für Teletype bezeichnet wird .


Andere Anwendungsfälle für -T(neben dem Testen)

VonC
quelle
2
Vielen Dank. wird -T nur zum Testen der Verbindung verwendet, da die Zuweisung von tty vermieden wird?
Tim
6
@Tim Nein, es kann nützlich sein (um tty zu deaktivieren), wenn Binärdateien übertragen werden ( serverfault.com/a/746638/783 ) oder Befehle auf einem Remote-Server ausgeführt werden ( unix.stackexchange.com/a/88616/7490 )
VonC