无法 scp 到 Azure VM

Can't scp to Azure's VM

我正在尝试将一些文件从我的机器复制到 Azure VM。我事先说过我可以 ssh Azure 的 VM,我在创建机器时提供了我的 public 密钥。两台机器都是Linux.

当我尝试时:

sudo scp /path/ca.crt ubuntu@ip.add.res.s:~/

我在输出中收到:

Permission denied (publickey). lost connection

我没有指向根目录(我的文件在根目录中,这就是 sudo 的原因);我没有指向错误的用户;如果我可以通过 ssh 连接,为什么 scp 应该被拒绝?

使用 sudo 访问根文件,scp 将在 /root/.ssh/ 而不是 /home/user/.ssh/ 中查找身份文件 id_rsa。这就是为什么我必须在 scp 命令中指定 身份文件 而不是 public 密钥 ):

sudo scp -i ~/.ssh/id_rsa /path/ca.crt ubuntu@ip.add.res.s:/home/ubuntu/

我希望这对其他人有用。

干杯。