Sie sind nicht angemeldet.

1

30.09.2010, 22:33

rsync als cronjob - Permission denied

Hallo,
meine Frage könnte evtl. OT sein, da ein "Ende" Ubuntu ist.
Problem: ich will per Cronjob mit rsync zu einer Remote-Maschine (das ist dann Gentoo) ein Verzeichnis mit mehreren Unterverzeichnissen synchronisieren.
Der Befehl in /etc/cron.d/backup sieht so aus:

Zitat

0 18-23 * * * joerg rsync -vvae ssh /home/joerg/Eigene-Dateien-Joerg/ root@192.168.1.19:/backup/papa-lappi/home/joerg/Eigene-Dateien-Joerg/ >> /var/log/backup.log # JOB_ID_1

Um das Login mit Paßwort zu umgehen habe ich public-key und private-key eingerichtet. ssh ohne Paßwort funktioniert. Setze ich obigen Befehl auf der Shell ab, funktioniert es tadellos.
Als Cronjob laufend, kommen diese Meldungen per Mail:

Zitat

From joerg@papa-lappi Thu Sep 30 21:00:01 2010
Return-Path: <joerg@papa-lappi>
X-Original-To: joerg
Delivered-To: joerg@papa-lappi
Received: by papa-lappi (Postfix, from userid 1000)
id 7E9D31011B1; Thu, 30 Sep 2010 21:00:01 +0200 (CEST)
From: root@papa-lappi (Cron Daemon)
To: joerg@papa-lappi
Subject: Cron <joerg@papa-lappi> rsync -vvae ssh /home/joerg/Eigene-Dateien-Joerg/ root@192.168.1.19:/backup/papa-lappi/home/joerg/Eigene-Dateien-Joerg/ >> /var/log/backup.log # JOB_ID_1
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/joerg>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=joerg>
Message-Id: <20100930190001.7E9D31011B1@papa-lappi>
Date: Thu, 30 Sep 2010 21:00:01 +0200 (CEST)

Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password,keyboard-interactive).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]

Könnt Ihr mir da helfen?
Danke!
Jörg
VDR-Server:
AMD Sempron 2200 - 512 MB - DVB-C 2 x Mystique CaBiX-C2
3.5.?-gentoo - MythTV 0.27 (UPnP-Clients BD-Player Sony und Philips TV)

VirtualBox-Host headless:
AMD Athlon 2-Kern - 4GB Ram VMware-Server 2 - mehrere virt. Maschinen mit Gentoo bzw. WinXP/Win7

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »joerg99« (19.10.2010, 20:46)


2

01.10.2010, 06:06

moin Jörg!
ich weiß zwar nicht genau, welcher User den Cronjob spielt, aber das ließe sich rausfinden.
Ich denke dass das Problem darin liegt, dass das Spielchen ssh ohne Passwort auf deinen Benutzer angelegt ist, aber nicht auf den cronjobuser. Somit sagt die Gegenstelle:
Kenne ich nicht, authentifiziert dich, cron ignoriert es und die Gegenstelle blockt ab.
System:
i7 P2600 @ 3,4GHz
jabber: poedel@jabber.ccc.de

3

01.10.2010, 21:51

Zitat

ich weiß zwar nicht genau, welcher User den Cronjob spielt

Meinst Du, unter welchem User der Cronjob läuft? Das wäre "joerg" - das ist so in dem Cron-Befehl unter /etc/cron.d so angegeben.
Oder sehe ich da was falsch?
Jörg
VDR-Server:
AMD Sempron 2200 - 512 MB - DVB-C 2 x Mystique CaBiX-C2
3.5.?-gentoo - MythTV 0.27 (UPnP-Clients BD-Player Sony und Philips TV)

VirtualBox-Host headless:
AMD Athlon 2-Kern - 4GB Ram VMware-Server 2 - mehrere virt. Maschinen mit Gentoo bzw. WinXP/Win7

4

02.10.2010, 09:27

Hm, vielleicht steht im Abschnitt "USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION" von rsync noch etwas interessantes.

Außerdem würde ich dem SSH kommand jedenfalls noch den Pfad auf dein Identity-File mitgeben, also in etwa so ...

Quellcode

1
rsync .... -e 'ssh -i /home/joerg/.ssh/identity' ...
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

5

02.10.2010, 09:56

root@192.168.1.19:/backup/papa-lappi/home/joerg/Eigene-Dateien-Joerg/
root@ ??

sollte das dort dann nich auch joerg heissen?

Mal davon abgesehen das ich mich dunkel erinnere das man ssh ohne root nutzen sollte. Kann aber auch sein das ich mich irre.
Gruß Divine

6

02.10.2010, 21:24

@dyle: in /home/joerg/.ssh gibt es "nur"
id_rsa
id_rsa.pub
known_hosts
und wenn ich diese mit ssh -i ... nutze, geht es auch nur nicht

@divine: ja, es muß root@... heißen, da es auf der remote-Maschine nur root gibt. Gibt man keinen Nutzer an, so wird meines Wissens der lokale Nutzer durchgereicht. Aber genau diesen (joerg) gibt es auf dem Server nicht.
Jörg
VDR-Server:
AMD Sempron 2200 - 512 MB - DVB-C 2 x Mystique CaBiX-C2
3.5.?-gentoo - MythTV 0.27 (UPnP-Clients BD-Player Sony und Philips TV)

VirtualBox-Host headless:
AMD Athlon 2-Kern - 4GB Ram VMware-Server 2 - mehrere virt. Maschinen mit Gentoo bzw. WinXP/Win7

7

03.10.2010, 13:45

Hast du es mal mit Benutzer anlegen probiert?
Gruß Divine

8

04.10.2010, 22:25

Du kannst es probieren das HOME explizit zu setzen. Hab schon mal erlebt, dass diese Umgebungsvariable bei Cron-Jobs nicht gesetzt wird.
Ich empfehle ein eigenes kleines Skript für anzulegen und diesen in die crontab einzutragen.

Quellcode

1
2
3
#!/bin/sh
export HOME=/home/joerg
rsync -vvae ssh /home/joerg/Eigene-Dateien-Joerg/ root@192.168.1.19:/backup/papa-lappi/home/joerg/Eigene-Dateien-Joerg/ >> /var/log/backup.log


Eigentlich gehört Userbezogene Crontab-Einträge nicht nach /etc/cron* sondern nach /var/spool/cron/crontabs/$user
Der User sollte natürlich in der Gruppe "crontab" sein.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

9

05.10.2010, 16:05

Auch mit dem Script wird das nichts. Die gleiche Fehlermeldung.

@divine: auch mit dem Anlegen des Nutzers funktioniert es nicht.
Jörg
VDR-Server:
AMD Sempron 2200 - 512 MB - DVB-C 2 x Mystique CaBiX-C2
3.5.?-gentoo - MythTV 0.27 (UPnP-Clients BD-Player Sony und Philips TV)

VirtualBox-Host headless:
AMD Athlon 2-Kern - 4GB Ram VMware-Server 2 - mehrere virt. Maschinen mit Gentoo bzw. WinXP/Win7

10

05.10.2010, 17:11

Versuche es mal mit

Quellcode

1
0 18-23 * * * root su -c "/pfad/zum/skript" joerg
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

11

05.10.2010, 20:48

@dyle: in /home/joerg/.ssh gibt es "nur"
id_rsa
id_rsa.pub
known_hosts
und wenn ich diese mit ssh -i ... nutze, geht es auch nur nicht

Nochmals zur Anregung:
1. Dein identity-file muss nicht "identity" heissen.
2. Wenn du password-less login hast, dann hast du ein identity file.
3. Hast du berücksichtigt, das die optionen von SSH beim Rsync-Kommando innerhalb von Hochkomma stehen? Das ist nicht unwichtig, da du hier optionen für SSH angibst und nicht für rsync. Die kommen sich sonst nämlich in die Quere.
4. Das gesehen (als Ideen-geber): http://www.slac.stanford.edu/BFROOT/www/…ssh-idfile.html
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

12

05.10.2010, 22:21

@bell: das geht auch nicht.
@dyle: ich habe mir das unter dem Link angesehen. Das ist identisch mit http://wiki.ubuntuusers.de/SSH#Authentif…ber-Public-Keys - und das habe ich genutzt. Ich glaube auch nicht, daß das das Problem ist (3 x das - blödes Deutsch). Der rsync-Befehl funktioniert ja tadellos wenn er auf der Konsole angestartet wird. Ich vermute, es sind fehlende Rechte/Einstellungen, wenn der Cronjob läuft. Und ssh -i ... habe ich ja auch schon getestet.
Jörg
VDR-Server:
AMD Sempron 2200 - 512 MB - DVB-C 2 x Mystique CaBiX-C2
3.5.?-gentoo - MythTV 0.27 (UPnP-Clients BD-Player Sony und Philips TV)

VirtualBox-Host headless:
AMD Athlon 2-Kern - 4GB Ram VMware-Server 2 - mehrere virt. Maschinen mit Gentoo bzw. WinXP/Win7

13

06.10.2010, 05:01

Bei mir funktioniert das tadellos. Gib bitte den exakten cron-eintrag durch.
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

14

06.10.2010, 10:16

@dyle:
Meinst Du das hier?:

Zitat

0 18-23 * * * joerg rsync -vvae ssh /home/joerg/Eigene-Dateien-Joerg/ root@192.168.1.19:/backup/papa-lappi/home/joerg/Eigene-Dateien-Joerg/ >> /var/log/backup.log # JOB_ID_1

Steht in /etc/cron.d/backup
VDR-Server:
AMD Sempron 2200 - 512 MB - DVB-C 2 x Mystique CaBiX-C2
3.5.?-gentoo - MythTV 0.27 (UPnP-Clients BD-Player Sony und Philips TV)

VirtualBox-Host headless:
AMD Athlon 2-Kern - 4GB Ram VMware-Server 2 - mehrere virt. Maschinen mit Gentoo bzw. WinXP/Win7

15

06.10.2010, 10:19

Ja, genau. Und wie würdest du das schreiben wenn du dein identity-file (/home/joerg/.ssh/id_rsa) dem SSH mitgeben würdest?
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

16

06.10.2010, 10:44

So

Zitat

0 18-23 * * * joerg rsync -vvae "ssh -i /home/joerg/.ssh/id_rsa" /home/joerg/Eigene-Dateien-Joerg/ root@192.168.1.19:/backup/papa-lappi/home/joerg/Eigene-Dateien-Joerg/ >> /var/log/backup.log # JOB_ID_1
VDR-Server:
AMD Sempron 2200 - 512 MB - DVB-C 2 x Mystique CaBiX-C2
3.5.?-gentoo - MythTV 0.27 (UPnP-Clients BD-Player Sony und Philips TV)

VirtualBox-Host headless:
AMD Athlon 2-Kern - 4GB Ram VMware-Server 2 - mehrere virt. Maschinen mit Gentoo bzw. WinXP/Win7

17

06.10.2010, 10:57

Gut.Allerdings empfehle ich dir hier single ticks (') und nicht hochkomma ("). Und du sagst:

Quellcode

1
$ ssh -i /home/joerg/.ssh/id_rsa root@192.168.1.19
funktioniert auch password-less auf der shell.

Wenn dem so ist, dann sollte in /var/log/messages auf 192.168.1.19 was zum fehlgeschlagenden Login stehen.

Anm.: wenn das identity-file fehlerhaft ist, wirst du hier wieder zum Password aufgefordert.
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

18

06.10.2010, 15:27

Zitat

ssh -i /home/joerg/.ssh/id_rsa root@192.168.1.19

ja, funktioniert, sogar ohne -i ...
Leider steht in /var/log/messages bzw. /var/log/syslog überhaupt nichts drin, außer daß eine Mail versendet wurde.
Jörg
VDR-Server:
AMD Sempron 2200 - 512 MB - DVB-C 2 x Mystique CaBiX-C2
3.5.?-gentoo - MythTV 0.27 (UPnP-Clients BD-Player Sony und Philips TV)

VirtualBox-Host headless:
AMD Athlon 2-Kern - 4GB Ram VMware-Server 2 - mehrere virt. Maschinen mit Gentoo bzw. WinXP/Win7

19

06.10.2010, 15:55

Zitat

ssh -i /home/joerg/.ssh/id_rsa root@192.168.1.19

ja, funktioniert, sogar ohne -i ...
Es muss mit "-i" sein, da cron als anderer User läuft.

und

Zitat von »dyle«

Wenn dem so ist, dann sollte in /var/log/messages auf 192.168.1.19 was zum fehlgeschlagenden Login stehen.

Zitat

Leider steht in /var/log/messages bzw. /var/log/syslog überhaupt nichts drin, außer daß eine Mail versendet wurde.
Auf dem Zielrechner??? Der Zielrechner schickt dir eine email, wenn der cron eines völlig anderen Rechners daneben ging? Und es steht dort aber kein fehlgeschlagener SSH-Eintrag?

... wenn das so ist, dann habe ich etwas bei SSH, cron und networking nicht ganz verstanden ... *g*
Sorry, kann ich mir nicht vorstellen. Ich glaube, du verwechselst da was.
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

20

06.10.2010, 16:06

Zitat

dann sollte in /var/log/messages auf 192.168.1.19

man sollte eben immer zu Ende lesen und alles in sich aufnehmen.
Sorry! Ich habe natürlich auf der lokalen Maschine geschaut.

Dein Verdacht war richtig. Das sagt 192.168.1.19 in der /var/log/messages:

Zitat

Oct 6 15:52:03 mtpcenter sshd[7142]: Failed password for invalid user joerg from 192.168.1.38 port 45177 ssh2

Und nun?
VDR-Server:
AMD Sempron 2200 - 512 MB - DVB-C 2 x Mystique CaBiX-C2
3.5.?-gentoo - MythTV 0.27 (UPnP-Clients BD-Player Sony und Philips TV)

VirtualBox-Host headless:
AMD Athlon 2-Kern - 4GB Ram VMware-Server 2 - mehrere virt. Maschinen mit Gentoo bzw. WinXP/Win7