SSH per Skript

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
v01d
Beiträge: 15
Registriert: 18.10.2004 17:29:31
Wohnort: Bayern
Kontaktdaten:

SSH per Skript

Beitrag von v01d » 17.03.2005 09:27:44

Hi.
Ich habe mir ein Skript geschrieben mit dem ich mich als root auf einem anderen Rechner anmelde, und einen Befehl ausführe. Allerdings werd ich immer wieder nach dem Passwort gefragt was ziemlich nervig ist da ich dieses Skript mehrmals täglich benutzen möchte. Kann ich an SSH irgendwie das Passwort übergeben so dass ich das Passwort nicht immer eingeben muss???
MfG

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 17.03.2005 11:46:05

Hi,

ist kein Problem, ich nutze z.B. folgendes Script um den Login auf einem remote Rechner zu automatisieren:

Code: Alles auswählen

#!/usr/bin/expect -f

set timeout -1

spawn $env(SHELL)
match_max 100000
send -- "ssh ich@ssh-server.de\r"

expect {
  "assword:" {send -- "total-geheim\r"}
}
interact
Anschliessend kann ich auf der Konsole einfach weiter arbeiten, da mir das Script aufgrund des "interact" die Kontrolle ueber die Sitzung uebergibt.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 17.03.2005 15:31:29

Geht mit SSH viel einfacher: du musst dir nur einen Key mit leerer Passphrase erzeugen.
Dazu benutzt du ssh-keygen.
Auf dem Rechner, wo du dich einloggen willst, kopierst du deinen public key in die Datei .ssh/authorized_keys. Achte dabei aber drauf, dass der Key nur eine Zeile bleibt.
Danach solltest du dich per ssh einloggen koennen, ohne dass du ein Passwort brauchst.
Btw, die in authorized_keys angegeben Keys kann man z.B. auch beschraenken, so dass der Key nur gilt, wenn du von ner bestimmten IP-Adresse kommst.
Gibt da noch einige nette Spielereien, da solltest du dir eventuell mal die Manpage ansehen.
Bei uns wird das mit der leeren Passphrase und den Keys sehr viel fuer diverse Skripten genutzt.

geier369
Beiträge: 32
Registriert: 01.09.2004 07:49:17

Beitrag von geier369 » 17.03.2005 19:59:28

Hi,

mit PerlModul Net::SSH gehts auch ganz gut.
Is im Paket libnet-ssh-perl drin

Antworten