Beim Versuch, Dateien von ServerB auf ServerA zu kopieren, wird folgende Fehlermeldung angezeigt:
root@server:~# scp /root/test.txt [email protected]:/home/somefolder/
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
lost connection
Auf Server A habe ich ein öffentliches/privates Schlüsselpaar ohne Passphrase erstellt. Auf Server B habe ich den öffentlichen Schlüssel zur Datei .ssh/authorized_keys hinzugefügt. Sowohl der Ordner als auch die Datei gehören root.
Ich habe dies ursprünglich mit einer Passphrase versucht. Da dies nicht funktionierte, habe ich einen anderen Schlüssel ohne Passphrase erstellt. Beide führen zum gleichen Ergebnis.
Dies ist kein Firewall-Problem. ServerA ist CentOS. ServerB ist Ubuntu.
Antwort1
Ich hatte das gleiche Problem. Hoffe, das funktioniert bei Ihnen.
scp -rp -i yourfile.pem ~/local_directory username@instance_url:directory
Damit dies funktioniert, muss auch die Berechtigung korrekt sein.
Antwort2
Führen Sie scp im ausführlichen Modus (-vvv) aus und prüfen Sie, ob Sie das Problem dort identifizieren können. Es könnte sein, dass die Berechtigungen für Ihre .ssh/authorized_key-Datei am Ziel (oder sogar an der Quelle) zu weit offen sind.
Antwort3
Es stellte sich heraus, dass ich die Identität im SCP-Befehl ungefähr so angeben musste:
scp -rp -i /root/.ssh/server /home/user-data/* [email protected]:/home/user-data
wobei „/root/.ssh/server“ der Speicherort des zu verwendenden privaten Schlüssels ist. Berechtigungen und Besitzverhältnisse sollten dafür ebenfalls korrekt sein.
Antwort4
Was sehen Sie in /var/log/secure
der Datei? Wahrscheinlich .ssh/*
liegen falsche Berechtigungen vor.
Sie können also versuchen, den Befehl auszuführen, ssh -v
um das Problem zu ermitteln.