ssh-copy-id 公钥被拒绝

ssh-copy-id 公钥被拒绝

我正在尝试将我的公共 ssh 密钥复制到我的 vps,以便我可以使用 登录ssh

但是,当我输入命令时:

ssh-copy-id me@myserver

我收到此错误消息

/usr/local/bin/ssh-copy-id: INFO: attempting to log in with the new    key(s), to filter out any that are already installed
/usr/local/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if   you are prompted now it is to install the new keys
Permission denied (publickey).

有人知道怎么修复这个问题吗?我用的是 Mac。

答案1

正如 Camilo 所建议的,您可以在远程服务器上手动添加正确的 SSH 公钥。

在我的情况下,当 SSH 程序尝试使用与使用 ssh-copy-id 时定义不同的身份文件或无法找到定义的私钥/身份文件时,会发生同样的错误。您可以通过在 ssh 命令中添加 -v 来观察 SSH 程序在执行 ssh 命令时执行的操作:

ssh -v username@your-host-ip-or-domain 

然后,您只需在本地机器上获取 SSH 程序尝试私钥的任何公钥,例如(在 Mac/Linux 上)默认密钥:

cat ~/.ssh/id_rsa.pub

...并将其添加到远程的authorized_keys文件中:

~/.ssh/authorized_keys

另一个对我来说更好的解决方案是在我的本地 ssh 配置文件中添加自定义主机。在我的 Mac 上它是:

~/.ssh/config

例如,您可以在此处添加如下内容:

Host mynewserver
        HostName some.IP.number.or.domain
        Port 20000 #if custom port is used and not the default 22
        User the_root
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/id_rsa_for_my_new_server

然后你只需要执行:

ssh mynewserver

...瞧瞧

答案2

我遇到了同样的问题,对我有用的方法是手动输入,在这个链接中你可以找到如何操作手动输入。这样,即使使用配对密钥,我也能够通过 ssh 进行连接。当我配置它时,.ssh/authorized_keys 文件包含另一个指向初始机器的密钥,因此我用初始机器的 /.ssh/id_rsa.pub 中包含的信息覆盖该信息

相关内容