it-swarm.com.de

Einzelner Befehl, um sich bei SSH anzumelden und das Programm auszuführen?

Gibt es eine Möglichkeit, einen einzelnen Befehl zu strukturieren, um sich über SSH bei einem Remote-Server anzumelden und ein Programm auf der Remote-Anmeldeshell auszuführen?

Im OpenSSH-Handbuch heißt es: "Wenn ein Befehl angegeben wird, wird er auf dem Remote-Host anstelle einer Anmeldeshell ausgeführt." So zum Beispiel ssh [email protected] mail meldet sich beim Remote-Server an, zeigt den Postfachstatus an und kehrt dann zur lokalen Shell zurück. Gibt es eine Möglichkeit, auf der Remote-Shell zu bleiben, nachdem der E-Mail-Status angezeigt wurde?

Außerdem, ssh [email protected] [command] scheint nicht zu funktionieren, wenn der Befehl ein Programm ist, zum Beispiel vim oder mutt. Gibt es eine Möglichkeit, sich bei der Remote-Shell anzumelden und ein Programm auszuführen, während Sie sich während des Programms und nach dem Beenden des Programms in der Remote-Shell befinden und erst nach einem bestimmten Befehl logout (genau wie in einer normalen SSH-Sitzung) endgültig beenden )?

Ich möchte eventuell einen solchen Befehl als Alias ​​in die lokale .bashrc einfügen können, damit er bei Bedarf schnell ausgeführt werden kann. Ein Beispiel wäre, sich über SSH bei einem Remote-Server anzumelden und mutt auf dem Remote-Server zu öffnen, um E-Mails zu lesen oder zu senden.

63
user981178

Hast du es versucht ssh -t [email protected] "mail && bash" (oder bash durch eine beliebige Shell ersetzen)?

Das -t ist erforderlich, um eine Pseudo-Tty für Bash zu erstellen, die als interaktive Shell verwendet werden kann.

98
jsbillings