Hallo,
es ist vermutlich recht simpel, aber ich bekomme das gerade nicht hin.
Ich möchte in einer Zeile in einem Shell Script einen SSH Login zu einem
anderen Server machen und dann auf dem anderen Server einen Befehl absetzen.
BEISPIEL:
Das funktioniert natürlich nicht:
ssh server-login.de; hostname
Das funktioniert aber auch nicht:
ssh server-login.de hostname
Das klappt, aber logt mich automatisch wieder aus:
ssh server-login.de 'hostname'
Ich möchte nach dem Login eingelogt bleiben.
Wie geht das denn?
Danke für Eure Hilfe
Manfred
Shell Script: Befehl nach einem SSH Login absetzen...
Re: Shell Script: Befehl nach einem SSH Login absetzen...
Code: Alles auswählen
dd if=$ROOTDIR/stickimage | ssh root@192.168.11.164 'dd of=/dev/sda && sync && reboot'
Re: Shell Script: Befehl nach einem SSH Login absetzen...
Da muss dir ein Fehler unterlaufen sein, dieses Quoting macht naemlich in einer Bourne-Shell keinen Unterschied.ManfredG hat geschrieben:Das funktioniert aber auch nicht:
ssh server-login.de hostname
Das klappt, aber logt mich automatisch wieder aus:
ssh server-login.de 'hostname'
Ein moeglicher Weg waere, dass du deine interaktive Shell explizit startest (-t erzwingt ein Terminal):
Code: Alles auswählen
$ ssh -t user@host 'hostname; $SHELL -i'
Das muss man wohl Shell-spezifisch loesen, etwa fuer die Bash:
Code: Alles auswählen
$ ssh -t user@host 't="$(mktemp)"; trap "rm -f $t" INT EXIT; echo "source ~/.bashrc || source /etc/bash.bashrc || true; hostname" >"$t"; bash --rcfile "$t" -i'
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier