Befehl via SSH ausführen mit Skript

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Just4Tech
Beiträge: 3
Registriert: 22.02.2015 10:47:40

Befehl via SSH ausführen mit Skript

Beitrag von Just4Tech » 22.02.2015 10:56:42

Hallo liebe DebianForum Community,

ich habe gesternein kleines Skript geschrieben, welches einen Befehl in einem lokalen Screen, aber auch in einem Screen auf einem externen Server ausführen soll.

Dazu habe ich das Paket SSHPass nachistalliert, um im Befhel das Passwort mit zu übergeben.

Ich habe nun das Problem, dass der Befehl zwar lokal ausgeführt wird, aber auf dem externen Server nicht.

Folgender Befehl führt dies aus, weiter oben sind die Variablen definiert:

Code: Alles auswählen

sshpass -p '"$rpassword"' ssh -p "$rport" "$ruser"@"$rip" "screen -S ${remotescreens[$astartr]} -p 0 -X stuff '`printf "$command\r"`'"
Mit freundlichen Grüßen

Leon

Benutzeravatar
Dogge
Beiträge: 1899
Registriert: 13.09.2010 11:07:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Befehl via SSH ausführen mit Skript

Beitrag von Dogge » 23.02.2015 09:18:06

Schau mal in der manpage nach , das sollte sein was du benötigst.
Debian Testing + Gnome | Linux-Anfänger seit 04/2003
http://files.mdosch.de/2014-07/0xE13D657D.asc

uname
Beiträge: 12402
Registriert: 03.06.2008 09:33:02

Re: Befehl via SSH ausführen mit Skript

Beitrag von uname » 23.02.2015 09:27:07

Debiansshpass kannte ich noch nicht. Aber wäre es nicht einfacher und vor allem sicherer einfach SSH-Keys zu verwenden?

Just4Tech
Beiträge: 3
Registriert: 22.02.2015 10:47:40

Re: Befehl via SSH ausführen mit Skript

Beitrag von Just4Tech » 23.02.2015 23:09:03

Danke für die Antworten.

An welche Stelle soll das -t genau hin?

Ich werde wahrscheinlich noch auf SSH Keys umsteigen.

Nach einigen Testen ist mir aufgefallen, dass der Befehl an sich direkt im Linux Terminal funktioniert, sobald ich ihn aber mit den Variablen im Skript ausführe nicht mehr.

uname
Beiträge: 12402
Registriert: 03.06.2008 09:33:02

Re: Befehl via SSH ausführen mit Skript

Beitrag von uname » 24.02.2015 09:13:28

Dann steige doch gleich auf SSH-Keys um. Dann brauchst du das Problem mit der Variablen gar nicht mehr lösen.

Benutzeravatar
Dogge
Beiträge: 1899
Registriert: 13.09.2010 11:07:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Befehl via SSH ausführen mit Skript

Beitrag von Dogge » 24.02.2015 09:36:47

-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.
http://manpages.debian.org/cgi-bin/man. ... &locale=en

Einfach

Code: Alles auswählen

ssh -p PORT BENUTZER@SERVER -t "BEFEHL"
probieren. Ich bin mir nicht ganz sicher ob das dann läuft, aber einen Versuch wäre es Wert.
Debian Testing + Gnome | Linux-Anfänger seit 04/2003
http://files.mdosch.de/2014-07/0xE13D657D.asc

Just4Tech
Beiträge: 3
Registriert: 22.02.2015 10:47:40

Re: Befehl via SSH ausführen mit Skript

Beitrag von Just4Tech » 24.02.2015 19:37:13

Vielen Dank für die Antwort.

Ich habe es nun nochmal mit -t versucht.

Leider ohne Erfolg.

Antworten