SSH login automatisieren

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von googelybear, 21.02.2006.

  1. #1 googelybear, 21.02.2006
    googelybear

    googelybear Grünschnabel

    Dabei seit:
    21.02.2006
    Beiträge:
    6
    Zustimmungen:
    0
    Hallo zusammen,

    Muss ein Skript schreiben welches sich bei ~32 Rechnern einloggt, dann eine Reihe weitere Befehle ausführt und sich wieder ausloggt.
    Doch leider scheitere ich schon am ersten Schritt: Zum Verbinden wollte ich ssh verwenden, doch da muss immer das pwd eingegeben werden. Wie kann ich das in einem Shellscript automatisieren? (Es gibt ja leider keinen Parameter wo man das pwd angeben kann. alle Rechner befinden sich im selben LAN). Oder am einfachsten public/private keys verwenden wie hier beschrieben?
    Danke für eure Tipps!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 SkyFlash, 21.02.2006
    SkyFlash

    SkyFlash Eroberer

    Dabei seit:
    15.02.2006
    Beiträge:
    71
    Zustimmungen:
    0
    Ort:
    Dresden
    Genau. :)
     
  4. #3 googelybear, 21.02.2006
    googelybear

    googelybear Grünschnabel

    Dabei seit:
    21.02.2006
    Beiträge:
    6
    Zustimmungen:
    0
    Ok habe die keys nun überall verteilt, aber irgendwie funktioniert mein Skript nicht. Z.B. folgendes um einfach ein Verzeichnis 'test' aus dem home ins local des jeweiligen Rechners zu kopieren:
    for i in rechner1 rechner2 rechner3 etc.
    do
    echo "Copying to"$i
    ssh $i
    cp -r /home/user/test /local/user/
    exit
    echo "...finished"
    done

    Er loggt sich beim 1. Rechner ein und dann erscheint das Prompt. Was mache ich hier falsch?
     
  5. #4 SkyFlash, 21.02.2006
    SkyFlash

    SkyFlash Eroberer

    Dabei seit:
    15.02.2006
    Beiträge:
    71
    Zustimmungen:
    0
    Ort:
    Dresden
    Genau hier liegt das Problem. Du mußt schon scp bemühen.

    /local/user ???

    Was genau soll die Zeile/das Script eigentlich tun?
     
  6. #5 googelybear, 21.02.2006
    googelybear

    googelybear Grünschnabel

    Dabei seit:
    21.02.2006
    Beiträge:
    6
    Zustimmungen:
    0
    Fragen über Fragen

    hmm...anscheinend kann man ssh nur jeweils ein command angeben, dann funktionierts jedenfalls.
    for i in rechnername1 rechnername2 etc.
    do
    echo "Copying files to"$i
    ssh $i rm -r /local/username/test
    ssh $i cp -r /home/username/test /local/username/
    echo "...finished"
    done

    Das script soll folgendes erledigen:
    1. Verzeichnis von home (global, Netzlaufwerk) in das local Verzeichnis der jeweiligen Rechners kopieren (bestehende Files sollen dabei ersetzt werden)
    2. Starten eines Programmes auf allen Rechnern im cluster.

    Nun hänge ich beim 2. Punkt fest, wie kann ich auf jedem Rechner ein Programm (eine eclipse rcp Anwendung) asynchron starten (ohne jeweils zu warten bis das Programm terminiert)? Und wie kann ich dann das Programm nachdem es seine Arbeit verrichtet hat wieder auf allen Rechnern beenden? Vielen Dank für eure Tipps!
     
  7. #6 huntings, 21.02.2006
    huntings

    huntings Mitglied

    Dabei seit:
    17.02.2006
    Beiträge:
    39
    Zustimmungen:
    0
    ähm sehe ich etwas falsch oder löscht der erst die Datein, bevor der sie kopieren soll?
     
  8. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Ja, Du siehst da was falsch ;)
     
  9. #8 SkyFlash, 21.02.2006
    SkyFlash

    SkyFlash Eroberer

    Dabei seit:
    15.02.2006
    Beiträge:
    71
    Zustimmungen:
    0
    Ort:
    Dresden
    ssh $i nohup $PROGRAMM

    Macht es das nicht selber... :think:
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. #9 Wolfgang, 21.02.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo

    Warum nimmst du nicht gleich rsync?
    Das kannst du auch mit nohup in den Hintergrund schicken.

    Gruß Wolfgang
     
  12. #10 googelybear, 22.02.2006
    Zuletzt bearbeitet: 23.02.2006
    googelybear

    googelybear Grünschnabel

    Dabei seit:
    21.02.2006
    Beiträge:
    6
    Zustimmungen:
    0
    ok danke für die tipps, werde es morgen ausprobieren!
    @SkyFlash: Das Programm läuft eigentlich auf unbestimmte Zeit und muss manuell beendet werden wenn es nicht mehr gebraucht wird (ein 'kill' tuts auch wenn sich das automatisieren lässt).

    edit: Kann leider das nohup Kommando nicht verwenden, da es nicht asynchron läuft, d.h. wenn ich per ssh $i nohup <command> meine Applikation starte, wartet es einfach so lange bis das Programm terminiert und macht erst dann weiter. Allerdings könnte ich die App per ssh $i <command>& starten. Aber nun die grosse Frage: Wie beende ich die Programme am Ende auf allen Rechnern? Für kill müsste ich ja die Prozessnummer wissen....hat jemand eine Idee??

    edit2: Der Titel von diesem Thread passt nicht mehr wirklich, habe daher einen neuen erstellt (hoffe das ist ok): Hier gehts weiter.
     
Thema:

SSH login automatisieren

Die Seite wird geladen...

SSH login automatisieren - Ähnliche Themen

  1. Solaris Login mit Active Directory User

    Solaris Login mit Active Directory User: Hallo zusammen, Ich arbeite daran unsere Solaris Systeme ans AD anzubinden. Teilweise ist mir das schon gelungen, teilweise stehe ich aber auch...
  2. Frage zu QNX - habe login nie gefunden

    Frage zu QNX - habe login nie gefunden: ′
  3. SSH Login nur mit einer bestimmten IP die in einer Textdatei gespeichert wird

    SSH Login nur mit einer bestimmten IP die in einer Textdatei gespeichert wird: Hallo Ich bin andauernd Opfer einer Brute Force Attacke. Die IPs die fehlerhafte Logins produzieren werden nach dem 3ten Versuch gesperrt. Aber...
  4. Root Login nach installation ohne Desktop Environment

    Root Login nach installation ohne Desktop Environment: Hey, Ich habe mir gerade Linux Debian 8 auf meinen alten PC gezogen und bei Desktop Environment das Sternchen rausgenommen, da das ja bei nem...
  5. Auto-Login auf Slackware

    Auto-Login auf Slackware: Hi, Ist gegen ein Auto-login auf einem nur privat zugänglichem Rechner (SL-13.37) grundsätzlich etwas einzuwenden? Und (falls nicht), wie am...