Beim Starten von Remote-Skript-/Terminal-basierten Programmen über SSH tritt ein Fehler auf (Fehler beim Öffnen des Terminals: unbekannt.)

Beim Starten von Remote-Skript-/Terminal-basierten Programmen über SSH tritt ein Fehler auf (Fehler beim Öffnen des Terminals: unbekannt.)

Ich starte ein Remote-Skript/-Kommando direkt auf einem Ubuntu-Server mit dem folgenden Befehl:

ssh me@server 'nano my_file.txt'

Dies führt jedoch zu einem Fehler:

Error opening terminal: unknown.

Ein weiteres Beispiel: Der Aufruf eines Remote-Skripts, das den nanoobigen Befehl enthält, führt zum selben Fehler.

ssh me@server 'open_nano.sh'

Wenn ich das tue ssh me@server 'echo something', erhalte ich somethingdas erwartete Ergebnis.

Was ist falsch?

Antwort1

Sie müssten die -tFlagge verwenden.

Beispiele:

 ssh -t me@server 'nano my_file.txt'
 ssh -t me@server 'open_nano.sh'

Erklärung von man ssh:

 -t      Force pseudo-tty allocation.  This can be used to execute arbi‐
         trary screen-based programs on a remote machine, which can be
         very useful, e.g. when implementing menu services.  Multiple -t
         options force tty allocation, even if ssh has no local tty.

verwandte Informationen