Gibt es eine Möglichkeit, einen einzelnen Befehl zu strukturieren, um sich über SSH bei einem Remoteserver anzumelden und ein Programm auf der Remoteanmeldeshell auszuführen?
Im OpenSSH-Handbuch heißt es: "Wenn ein Befehl angegeben ist, wird er auf dem Remote-Host anstelle einer Anmeldeshell ausgeführt." Melden Sie sich beispielsweise ssh user@server mail
beim Remote-Server an, zeigen Sie den Postfachstatus an und kehren Sie dann zur lokalen Shell zurück. Gibt es eine Möglichkeit, nach der Anzeige des E-Mail-Status auf der Remote-Shell zu bleiben?
Außerdem ssh user@server [command]
scheint es 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 in der Remote-Shell während des Programms und nach dem Beenden des Programms befinden und nur bei einem bestimmten logout
Befehl endgültig beenden (genau wie in einer normalen SSH-Sitzung)?
Ich möchte irgendwann in der Lage sein, einen solchen Befehl als Alias in die lokale .bashrc zu schreiben, damit er auf Wunsch 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.
ssh remote@server mail ; ssh remote@server
? Auch jeder remote ausgeführte Befehl, der ein Terminal benötigt, überlebt / funktioniert nicht über ssh oder?Antworten:
Haben Sie es versucht
ssh -t user@server "mail && bash"
(oder durch einebash
andere Shell ersetzt)?Das
-t
ist notwendig, um einen Pseudo-tty zu schaffen für bash als interaktive Schale zu verwenden.quelle
mutt
in einemtmux
oder zu rennenscreen
, und dann kann ich nach Belieben weitere Muscheln anbringen und wieder anbringen. Außerdem kann ich so viele zusätzliche Muscheln rennen, wie ich wollte.exit
statt mit beendet werden musslogout
. Ich kann es noch nicht mit mutt (oder ähnlichem) testen.-t
Option Sicherheitsbedenken mit sich? Ich habe das noch nie benutzt.&&
durch eine zu ersetzen;
?