-1

我可以使用 ssh 从我的电脑连接到我的 EC2 git 服务器(我指定了端口 22,因为默认端口是另一个):

$ ssh -p22 dev@xxxxxxxxxxxx.compute.amazonaws.com

这很好用,但是当我尝试克隆时,我遇到了一些问题(我再次指定了端口 22,因为默认端口是另一个):

sudo git clone ssh://dev@xxxxxxxxxx.compute.amazonaws.com:22/home/dev/some/stuff.git

这是输出:

dev@xxxxxxxxxxxxxxxxxx.compute.amazonaws.com: Permission denied (publickey).

为什么????

4

1 回答 1

1

原因是因为您使用的是sudo. OpenSSH 使用当前用户的公钥登录,当你使用 时sudo,它们是 的公钥root,而不是你的普通用户。

如果要以 root 身份克隆,则需要为 root 设置密钥或/root/.ssh/config通过选项设置使用普通用户密钥的文件IdentityFile。例如,如果您的普通用户是example并且您正在使用 Ed25519 密钥,则文件可能如下所示:

Host xxxxxxxxxx.compute.amazonaws.com
    IdentityFile /home/example/.ssh/id_ed25519
于 2019-11-21T23:32:21.057 回答