Die Verwendung von ssh -t
anstelle von ssh
für Verbindungen zu Remoteservern bietet mehrere Vorteile. Zum Beispiel kann ich eine Datei direkt mit vim: bearbeiten ssh -t host vim foo.txt
, was sonst fehlschlagen würde.
Gibt es irgendwelche Umstände, unter denen die Zuweisung einer (Pseudo) -Tty bei Verwendung von ssh eine schlechte Sache wäre?
Zusätzlich zum oben genannten...
(1) Unterschiedliche Tilda Fluchtbehandlung:
Das "~." Escape trennt Sie, wenn Sie ein Pty (-t) haben. Bei einem Befehl mit langer Laufzeit möchten Sie möglicherweise verhindern, dass jemand den Prozess versehentlich anhält, wenn er ~ eingibt.
$ ssh hostname.tomontime.com -t sleep 60
[Typ ~. und es trennt]
Verbindung zu hostname.tomontime.com geschlossen.
$ ssh hostname -T sleep 60
[Ich gebe ~ ein. und es behandelt es wie normale Tastenanschläge, die der Befehl sleep ignoriert.]
~.
~.
Versuchen Sie dasselbe mit STRG-C. Sie werden sehen, dass Sie mit -t die STRG-C-Taste in den "Ruhezustand" versetzen. Mit -T senden Sie die Tastenkombination STRG-C an das auf Ihrem Rechner ausgeführte ssh-Programm. Es kann vorkommen, dass dies einen Unterschied macht (dh das Programm behandelt INT anders als HUP).
(2) Sie möchten nur die Pty- oder Netzwerkverbindungsaktivität minimieren.
Wenn Sie versuchen, einen Computer neu zu starten, auf dem kein ptys mehr vorhanden ist, möchten Sie das System nicht dazu auffordern, eine Pty zuzuweisen! Dies minimiert auch die Netzwerkverbindungen, die geschlossen werden müssen (Verzögerung des Neustarts).
Dies funktioniert schneller und zuverlässiger:
Neustart von ssh-Hostname
Dies kann zu Problemen führen:
ssh -t Hostname Neustart
quelle
ssh -t erstellt ein Pseudoterminal auf dem Remote-Computer. Dies ist nützlich, wenn Sie ssh-Befehle über mehrere Server verketten und ein echtes Terminal auf der Gegenseite haben möchten (Sie könnten also beispielsweise 'vi' verwenden).
Möglicherweise möchten Sie NICHT '-t', wenn sich Anmeldeskripte anders verhalten, wenn es ein Terminal gibt. Dies ist meiner Meinung nach eine schlechte Praxis, aber ich habe Fälle gesehen, in denen ein Anmeldeskript nach TTY sucht, bevor 1) die Eingabeaufforderung festgelegt und 2) der Pfad zu vielen interaktiven Anwendungen erweitert wurde.
In einem anderen Fall (von TomOnTime oben erwähnt) bin ich tatsächlich auf Fälle gestoßen, in denen alle TTY (ptys) aufgebraucht sind. Offensichtlich eine Fehlkonfiguration, aber keine Notwendigkeit, eine Ressource für eine Reihe von Tunneln und Rsyncs zu zerkauen.
quelle