Führen Sie den Startbefehl in mosh aus

928
sygi

Ich möchte einen Startbefehl nach dem Anmelden über ausführen mosh. Mit sshwürde ich es machen als:

ssh server -t 'some startup command' 

Aber wenn ich in Mosh Ähnliches mache, bekomme ich:

$ mosh elisa2 --ssh="ssh -t 'cat blah'"  Pseudo-terminal will not be allocated because stdin is not a terminal. /usr/bin/mosh: Could not resolve hostname cat ssh_exchange_identification: Connection closed by remote host /usr/bin/mosh: Did not find remote IP address (is SSH ProxyCommand disabled?). 

Wie erreicht man in mosh das ähnliche Verhalten wie in ssh?

1

1 Antwort auf die Frage

1
Jakuje

Dies ist meistens auf diese Weise nicht möglich, da der MOSH selbst bereits einen Befehl ausführt, um seinen Prozess auf dem Remote-Server zu starten. Auch so, wie Sie es geschrieben haben, wird es als Servername interpretiert, was sicherlich nicht korrekt ist.

Beim Durchlesen der Handbuchseite von mosh(1)(gute Möglichkeit, das nächste Mal mit der Suche zu beginnen), können Sie den Befehl einfach als nächstes Argument angeben:

mosh [options] [--] [user@]host [command...]

deshalb

$ mosh elisa2 'cat blah' 

sollte nur zum Job (Sie brauchen sich nicht um ttyMOSH zu kümmern ).

Im Allgemeinen möchten Sie auch die Shell ausführen. Nach dem catsollte es bashauch so sein, damit Sie die Aufforderung erhalten:

$ mosh elisa2 "cat blah;bash"