我无法使用 pscp 将文件传输到亚马逊 AWS ec2 实例。密钥被拒绝

I can't transfer files using pscp to amazon AWS ec2 instances. Key refused

我可以使用相同的私钥使用 Putty 连接到服务器命令行。

但是当我尝试使用相同的密钥将文件从我的 PC 传输到服务器时":

pscp -i C:\xxx.ppk "C:\xx\somefile.yy" ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com:/home/(一些位置)

我收到以下错误:

服务器拒绝了我们的密钥 致命:断开连接:没有可用的受支持的身份验证方法(服务器发送: 公钥)

有人可以帮我解决这个问题吗?

您可能需要查看 Error: Server refused our key or No supported authentication methods available section of the Troubleshooting Connecting to Your Instance 文档。

试试这个:将 -l 用户名选项添加到 pscp 命令行,并使用适合您的实例的用户名。

pscp -i C:\xxx.ppk -l user ec2-user "C:\xx\somefile.yy" ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com:/home/(some location)

-l 选项允许您使用指定的用户名进行连接。您的用户名可能不匹配。

FWIW,我正在使用 username@ipaddr:/dir 的目标语法并收到此错误。 我不得不使用 username@hostname:/dir。很惊讶我不得不指定主机名...

顺便说一句 none 上面的例子对我不起作用,这是我使用的:

  1. 我用 putty 将 .pem 文件转换为 .ppk:Conversions->importkey->save private key(现在我们有了 .ppk)
  2. pscp -scp -i c:/ssh-key/ssh.ppk ./dist/* ubuntu@ec2-***.us-west-2.compute.amazonaws.com:/home/ubuntu/www