Ich versuche, einige Dateien zu einem Backup-Host rsync ich habe.
Ich würde gerne in der Lage sein, dies als Cron-Benutzer (in diesem Beispiel cron_user genannt) zu tun.
Der Zielhost hat eine "von" -Zeile in der ~/.ssh/authorized_keys-Datei mit der IP-Adresse, und ich habe den privaten DSA-Schlüssel in ein benutzergeschütztes Verzeichnis kopiert (angegeben im gekapselten Befehl ssh -i).Rsync-Dateien als Benutzer mit SSH-Schlüssel
Ich werde immer noch aufgefordert, ein Passwort einzugeben. Gibt es einen anderen Weg, oder fehlt mir etwas, das umgeht und ein Passwort erfordert und auf den angegebenen ssh-Schlüssel verweist?
sudo rsync --timeout=3600 -azO -e 'ssh -i /var/cron_user/cron_user' /tmp/bacup1-$(date'+%Y-%m-%d').tgz /tmp/backup2$(date '+%Y-%m-%d').tgz [email protected]:/database/backups/app_backup/
Bei der weiteren Untersuchung, eine -v zeigt, dass es die Verwendung des Schlüssels auf Basis von IP nicht ist erlaubt:
IP: debug1: Remote: Your host '10.5.122.118' is not permitted to use this key for login.
Obwohl ich die IP-in/home/user_cron/aufgeführt. ssh/authorized_keys-Datei:
[[email protected] user]# cat ~cron_user/.ssh/authorized_keys
from="10.5.112.42,10.5.122.118,10.5.100.200,10.5.100.205,10.5.99.223,10.4.99.229,10.4.99.223,10.4.100.182" ssh-dss
gibt es etwas, ich vermisse diese Benutzer zu ermöglichen, ohne ein Passwort zu authentifizieren? Ich habe getestet, um einen ssh -i mit dem gleichen Schlüssel-Datei von anderen Hosts hier aufgeführten Aufruf, keine Probleme ...
Was passiert, wenn Sie einfach 'ssh -i/var/cron_user/cron_user uptime' von einer Eingabeaufforderung aus ausführen? Funktioniert es? Oder nicht? Wenn nicht, gibt es etwas Nützliches in den Protokollen auf dem Remote-Server? – larsks
Ich würde zuerst auf Datei-Dauerwellen schauen: SSH kann über diese schreiben. Zweitens würde ich mir die selinux-Audit-Dateien ansehen, die Schlüsseldatei könnte einen falschen Kontext haben und ihr korrekter Kontext ist für ssh möglicherweise nicht verfügbar. – MattH
Nachweis erbracht, dass SELinux vollständig deaktiviert ist, gewohnt auf unseren Systemen: [eshrago @ hbackup00 selinux] $ PWD /etc/selinux [eshrago @ hbackup00 selinux] $ deaktiviert Config grep # \t deaktiviert - SELinux vollständig deaktiviert ist. SELINUX = deaktiviert [eshrago @ hbackup00 selinux] $ – user1172482