
Ich versuche, eine Datei aus einemSolarisServer zu meinemLinuxServer und ich habe es erfolgreich gemacht, indem ich verwendet habe scp
. Ich möchte den folgenden Befehl als Cronjob ausführen. Wie kann ich das Kennwort für diese Automatisierung der Dateiübertragung von Solaris zu Linux speichern?
scp -r [email protected]:/usr/abc/* /home/def/
Password:
Aber jedes Mal werde ich nach einem Passwort gefragt. Ich habe bereits einen Satz öffentlicher und privater SSH-Schlüssel auf meinem Computer für meinen Benutzer generiert mit:
ssh-keygen
Und kopiere meinen öffentlichen Schlüssel auf den Remote-Host:
ssh-copy-id [email protected]
Notiz:Ich führe es erfolgreich aus, cron
wenn beide Server Linux-Server sind. Beim Wechsel von Solaris-Server zu Linux-Server besteht ein Problem.Hier ist mein lokaler Server Linux und der Remote-Server ein Solaris-Server.
Antwort1
Wenn es über die Befehlszeile mit den Tasten funktioniert, besteht meines Erachtens eine Situation darin, dass Sie cron mit einem anderen Benutzer ausführen als dem, der die Dateien abruft.
Sie können Ihren Befehl wie folgt ändern:
ssh -i <ssh_private_key> -r [email protected]:/usr/abc/* /home/def/
Antwort2
Ich vertraue darauf, dass Sie sich das hier angesehen haben:
http://docs.oracle.com/cd/E19253-01/816-4557/sshuser-33/index.html
Sehen Sie sich auch die Manpage für Ihren SSH-Client an. Möglicherweise müssen Sie Protokollversion 1 erzwingen.
Zunächst einmal funktioniert es, soweit ich weiß, nicht einmal im interaktiven Modus. Versuchen Sie -v
es mit Flags, beginnen Sie mit einem
ssh -v [email protected]
Wenn dir das nichts sagt,
ssh -vv [email protected]
als letztes:
ssh -vvv [email protected]
Beachten Sie, dass ich das Problem immer bei der Verwendung nur eines gefunden habe -v
.