尝试将文件从 serverB 复制到 serverA 并收到以下错误:
root@server:~# scp /root/test.txt root@111.111.111.111:/home/somefolder/
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
lost connection
Run Code Online (Sandbox Code Playgroud)
在 serverA 上,我创建了一个没有密码短语的公钥/私钥对。在 serverB 上,我将公钥添加到 .ssh/authorized_keys 文件中。文件夹和文件都归 root 所有。
我最初用密码尝试了这个......因为它不起作用我创建了另一个没有密码的密钥。两者都给出了相同的结果。
这不是防火墙问题。serverA 是centos。serverB 是 ubuntu。
结果我需要在 scp 命令中指定身份,如下所示:
scp -rp -i /root/.ssh/server /home/user-data/* root@111.111.111.111:/home/user-data
Run Code Online (Sandbox Code Playgroud)
其中“/root/.ssh/server”是要使用的私钥的位置。权限和所有权也应该正确。
小智 5
我面临同样的问题。希望这对你有用。
scp -rp -i yourfile.pem ~/local_directory username@instance_url:directory
权限也应该是正确的才能完成这项工作。