mit ssh ein Komando auf einem entfernten Rechner ausfuehren
Hallo ich möchte script via cron auf einem lokalen Rechner starten u.a. soll auf einem entfernten Rechner ein Befehl ausgeführt werden. Diesen Befehl will ich via ssh absetzen also ssh root@entfernter-rechner df -h (es muss leider Root sein). Da das ganze im Skript läuft will ich ssh ohne passwort betreiben. Das habe ich gemacht: mit ssh-keygen einen Schlussel, ohne passwort, auf dem zu lokalen Rechner unter /root/.ssh erstellt. Den pub key aus /root/.ssh/ nach /root/.ssh/authorized_keys auf dem entfernten Rechner kopiert restart sshd Test: ssh root@nas df-h ich bekomme eine Passwort anfrage!!! Hier die letzten Zeilen wenn ich ssh -vvv zum testen nehme: debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug2: key: /root/.ssh/id_rsa (0xb80ac148) debug1: Authentications that can continue: publickey,password debug3: start over, passed a different list publickey,password debug3: preferred publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Offering public key: /root/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,password debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: ,password debug3: authmethod_is_enabled password debug1: Next authentication method: password root@tamboti's password Was habe ich falsch gemacht? Viele Grüße Michael -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Michael, Michael schrieb:
Hallo
ich möchte script via cron auf einem lokalen Rechner starten u.a. soll auf einem entfernten Rechner ein Befehl ausgeführt werden. Diesen Befehl will ich via ssh absetzen also ssh root@entfernter-rechner df -h (es muss leider Root sein). Da das ganze im Skript läuft will ich ssh ohne passwort betreiben.
das willst du nicht, lege auf beiden Systemen einen eigenen User für diesen Zweck an.
Das habe ich gemacht:
mit ssh-keygen einen Schlussel, ohne passwort, auf dem zu lokalen Rechner unter /root/.ssh erstellt.
Den pub key aus /root/.ssh/ nach /root/.ssh/authorized_keys auf dem entfernten Rechner kopiert
restart sshd
soweit OK
Test: ssh root@nas df-h ich bekomme eine Passwort anfrage!!!
Hier hast Du vergessen vorher den "agent" zu starten und den schlüsse zu laden ;) #!/bin/bash [...] # starting ssh-agent eval `ssh-agent < /dev/null` > /dev/null # adding key ssh-add /home/copy/.ssh/repo_id_dsa > /dev/null 2>&1 # your code [...] # kill ssh-agent for agentpid in `ps aux | grep ssh-agent | grep copy | grep -v grep | awk ' { print $2 } '` do kill -9 $agentpid done [...]
Was habe ich falsch gemacht?
siehe oben.
Viele Grüße Michael
Gruß Chris -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Samstag, 4. Juli 2009 schrieb Christian:
Hallo Michael,
Michael schrieb:
Hallo
ich möchte script via cron auf einem lokalen Rechner starten u.a. soll auf einem entfernten Rechner ein Befehl ausgeführt werden. Diesen Befehl will ich via ssh absetzen also ssh root@entfernter-rechner df -h (es muss leider Root sein). Da das ganze im Skript läuft will ich ssh ohne passwort betreiben. ... ssh root@nas df-h ich bekomme eine Passwort anfrage!!!
Hier hast Du vergessen vorher den "agent" zu starten und den schlüsse zu laden ;)
sicher? ich habe es noch nicht mit OS11.1 probiert, aber bei allen SuSE und openSuse bis 11.0 (und auch in Verbindung mit CentOS, Redhat, Debian usw) hat es bei mir bisher auch ohne agent geklappt. Die Stolperfalle waren bisher höchstens die Rechte der Datei authorized_keys2 auf dem Zielrechner - wohlgemerkt: es dürfen nicht zu viele Rechte sein, Lesen durch den entsprechenden User reicht... Ach so: und das ganze entweder von dem User aus starten, in dessen .ssh-Verzeichnis die privte-key-Datei liegt oder diese mit -i im ssh-Aufruf einbinden. Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Christian wrote:
Michael schrieb:
Hallo
ich möchte script via cron auf einem lokalen Rechner starten u.a. soll auf einem entfernten Rechner ein Befehl ausgeführt werden. Diesen Befehl will ich via ssh absetzen also ssh root@entfernter-rechner df -h (es muss leider Root sein). Da das ganze im Skript läuft will ich ssh ohne passwort betreiben.
das willst du nicht, lege auf beiden Systemen einen eigenen User für diesen Zweck an.
Ich werde mich NICHT über Sinn/Unsinn von ssh via root äussern; das wird 'ne ziemlich fruchlose Diskussion (IMO)
Das habe ich gemacht:
mit ssh-keygen einen Schlussel, ohne passwort, auf dem zu lokalen Rechner unter /root/.ssh erstellt.
Den pub key aus /root/.ssh/ nach /root/.ssh/authorized_keys auf dem entfernten Rechner kopiert
Was für einen key? Ich habe hier mit Version_1 keys (rsa) keine guten Erfahrungen; Version_2 keys dagegen habe ich ans laufen bekommen: ssh-keygen -t dsa cd ~/.ssh ln -s id_dsa.pub authorized_keys2
restart sshd
nur nötig, wenn du den sshd auf der Zielmaschine umkonfigurieren musst (PermitRootAccess).
soweit OK
Test: ssh root@nas df-h ich bekomme eine Passwort anfrage!!!
Weitere Fehlermöglichkeiten: Rechte auf ~root und ~root/.ssh?
Hier hast Du vergessen vorher den "agent" zu starten und den schlüsse zu laden ;)
Der wird hier nicht gebraucht! Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Michael schrieb:
Hallo
ich möchte script via cron auf einem lokalen Rechner starten u.a. soll auf einem entfernten Rechner ein Befehl ausgeführt werden. Diesen Befehl will ich via ssh absetzen also ssh root@entfernter-rechner df -h (es muss leider Root sein). Da das ganze im Skript läuft will ich ssh ohne passwort betreiben.
Das habe ich gemacht:
mit ssh-keygen einen Schlussel, ohne passwort, auf dem zu lokalen Rechner unter /root/.ssh erstellt.
Den pub key aus /root/.ssh/ nach /root/.ssh/authorized_keys auf dem entfernten Rechner kopiert
restart sshd
Test: ssh root@nas df-h ich bekomme eine Passwort anfrage!!!
ehm.... Namensproblem ? bsp aus reichtigem Verzeichnis... : cat id_rsa.pub | ssh ich@dort "cat >> .ssh/authorized_keys" ist was adnders als cat id_rsa.pub | ssh ich@dort.mydoain.mylan "cat >> .ssh/authorized_keys" danach kann amn mit ssh ich@dort kommando arbeiten ..das tut ... brauchst dich ja testweise nur per slogin einzuloggen......
Was habe ich falsch gemacht?
Viele Grüße Michael
Fred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (5)
-
Christian
-
Fred Ockert
-
Kyek, Andreas, VF-DE
-
Martin Hofius
-
Michael