Benutzerdefinierte Suche

Shellscript: rsync mit ssh wird nicht ausgeführt

  1. chrigu

    chrigu Thread StarterMacUser Mitglied

    Mitglied seit:
    08.03.2004
    Beiträge:
    155
    Zustimmungen:
    0
    Folgendes Shellscript wird über einen Cronjob ausgeführt:
    Code:
    #!/bin/bash
    # Backup starten
    /bin/date >> /Users/chrigu/Desktop/test.txt;
    
    /usr/local/bin/rsync -aE -z /Users chrigu@wiseguy-christoph.local:/Volumes/backup_disk/mammut_users_sync > /Users/sync_protokoll;
    
    Die Datei test.txt wird auf dem Desktop erstellt, der rsync Befehl wird allerdings nicht ausgeführt, obwohl die gleiche Befehlszeile
    Code:
    /usr/local/bin/rsync -aE -z /Users chrigu@wiseguy-christoph.local:/Volumes/backup_disk/mammut_users_sync > /Users/sync_protokoll;
    in der Kommandozeile eingegeben, einwandfrei funktioniert. Die ssh Verbindung funktioniert also tadellos.

    Ich bin etwas ratlos, wenn ich übrigens im selben Shellscript auf eine ssh Verbindung verzichte und nur Lokal einen Verzeichnisabgleich mache also
    Code:
    #!/bin/bash
    # Backup starten
    /bin/date >> /Users/chrigu/Desktop/test.txt;
    
    /usr/local/bin/rsync -aE -z /Users/chrigu/Desktop/Quelle /Users/chrigu/Desktop/Ziel >| /Users/sync_protokoll;
    geht die Sache wiederum ohne Probleme.

    Wer hat da den Durchblick oder wie könnte man das Problem etwas einkreisen?
     
    chrigu, 02.04.2006
  2. chrigu

    chrigu Thread StarterMacUser Mitglied

    Mitglied seit:
    08.03.2004
    Beiträge:
    155
    Zustimmungen:
    0
    Ich bin der Sache vielleicht etwas näher gekommen. Die ssh Schlüssel befinden sich im User-Verzeichnis /Users/chrigu/.ssh, der Cronjob wird allerdings von root ausgeführt womit ich vermute das root keinen passenden ssh Schlüssel findet.

    Nun natürlich meine Frage wohin ich die id_rsa Schlüssel Dateien kopiere, damit auch root diese verwenden kann?
     
    chrigu, 02.04.2006
  3. maceis

    maceisMacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    Warum sagst Du dem Cronjob nicht lieber, dass er als User chrigu laufen soll?
    Dafür ist die sechste Spalte (who) in /etc/crontab zuständig oder Du verwendest die User crontab.

    btw: wie kommst Du darauf, dass es an ssh liegt.
    Ich sehe nämlich gar nicht, dass Dein Kommando ssh überhaupt verwendet :D.
     
    maceis, 02.04.2006
  4. catvarlog

    catvarlogMacUser Mitglied

    Mitglied seit:
    30.01.2005
    Beiträge:
    1.468
    Zustimmungen:
    1
    um ssh nutzen zu können, musst du den entsprechenden befehl hinzufügen:
    Code:
    -e ssh
    
    richtig wäre es dann z.B. so:
    Code:
    /usr/local/bin/rsync -e ssh -aE -z /Users [email]chrigu@wiseguy-christoph.loca[/email]l:/Volumes/backup_disk/mammut_users_sync > /Users/sync_protokoll;
    
    aus der man-page von rsync:

    Code:
    -e, --rsh=COMMAND           specify the remote shell
    
     
    catvarlog, 02.04.2006
  5. mys

    mysMacUser Mitglied

    Mitglied seit:
    02.02.2004
    Beiträge:
    422
    Zustimmungen:
    0
    Wen ich mich nicht irre, ist das root Verzeichniss unter /var/root .
    Versuch mal da die SSH Keys hinzukopieren.
     
  6. catvarlog

    catvarlogMacUser Mitglied

    Mitglied seit:
    30.01.2005
    Beiträge:
    1.468
    Zustimmungen:
    1
    nach:
    /private/var/root/.ssh
     
    catvarlog, 02.04.2006
  7. maceis

    maceisMacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    Ich möchte noch einmal kurz darauf hinweisen, dass es Unfug ist, ein Kommando, mit dem das Benutzerverzeichnis von "chrigu" gesichert werden soll, ohne Not mit root Permissions laufen zu lassen.
     
    maceis, 02.04.2006
  8. chrigu

    chrigu Thread StarterMacUser Mitglied

    Mitglied seit:
    08.03.2004
    Beiträge:
    155
    Zustimmungen:
    0
    Schon mal vielen Dank für die vielen Inputs! werde das sogleich mal verarbeiten.

    Ich hatte gedacht ssh werde automatisch benutzt, wenn user@host:/… angegeben wird, weil ja mit den erstellten Schlüsseln die Passwortabfrage entfällt (sofern man kein Passwort definiert hat) oder funktioniert das auch ohne Schlüssel?

    @maceis
    ok, aus ideologischer Sicht wäre es besser rsync mit anderen permissions als root laufen zu lassen, welcher user hat den sonst noch volle Zugriffsberechtigung auf das Verzeichnis /Users/*
     
    chrigu, 02.04.2006
  9. maceis

    maceisMacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    Ich würde für jeden User einen Job erstellen, der unter dessen Namen läuft.
    Bei Dir ist es aber offensichtlich so, dass chrigu Zugriff auf die zu sichernden Daten hat.
    Ich bin mir auch gar nicht sicher, ob das Ganze bei Dir nicht ohnehin lokal läuft (chrigu@wiseguy-christoph.local :confused: ), dann ist ssh in jedem Fall überflüssig.
     
    maceis, 02.04.2006
  10. Hilarious

    HilariousMacUser Mitglied

    Mitglied seit:
    25.11.2004
    Beiträge:
    2.161
    Zustimmungen:
    5
    Könnte hier nicht ein entsprechendes Gruppenrecht weiterhelfen statt gleich alles unter root laufen zu lassen? Ich sehe das ähnliche restriktiv wie maceis, allerdings must Du natürlich selbst entscheiden, wie Du die Sicherheitslage bewertest.
     
    Hilarious, 02.04.2006
Die Seite wird geladen...
Ähnliche Themen - Shellscript rsync ssh
  1. isarcanoe
    Antworten:
    23
    Aufrufe:
    871
    isarcanoe
    26.06.2017
  2. ruebezahl
    Antworten:
    3
    Aufrufe:
    856
    ruebezahl
    15.06.2012
  3. Admiral
    Antworten:
    26
    Aufrufe:
    6.935
  4. Lito
    Antworten:
    2
    Aufrufe:
    1.361
  5. Commodore-Freak
    Antworten:
    7
    Aufrufe:
    2.397