无法使用 SSH 密钥连接

无法使用 SSH 密钥连接

我正在尝试使用以下命令连接到我的 Linux 服务器:

ssh-keygen -t rsa

然后我这样做:

cat ~/.ssh/id_rsa.pub | ssh myusername@myserver_ip 'cat >> .ssh/authorized_keys'

然后我转到我的远程服务器,看到已创建“authorized_keys”文件。但是当我尝试执行“ssh myusername@myserver_ip”时,它仍然提示我输入密码?

为什么???

答案1

好的,首先请确保您在 /etc/ssh/sshd_config 中启用了此选项

    RSAAuthentication yes
    PubKeyAuthentication yes
    AuthorizedKeysFlle %h/.ssh/authorized_keys

其次,为了将密钥从 ServerA(您生成密钥的地方)复制到 ServerB(您想要登录的地方),请使用以下命令:

    ssh-copy-id your_username@your_serverB_Ip

如果 ServerA 没有 ssh-copy-id 命令,请在 ServerA 中复制密钥的第一行(不带最后 2 个字符),然后将其粘贴到 ServerB 的 Authorized_Keys 文件中。之后,自己输入刚刚复制的行中缺少的字符以及第 2 行中的第一个字符,这样可以避免在将密钥从 ServerA 粘贴到 ServerB 时在密钥的第一行和第二行之间添加“新行”。对第三行重复此操作

答案2

~/.ssh验证目录及其内容的所有权和权限:

$ sudo chown -R <user> ~/.ssh
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/*

答案3

您可能需要检查 sshd_config 以确保这些功能已启用:

RSAAuthentication yes
PubkeyAuthentication yes

一旦将这些设置为“是”,那么您将需要重新启动 ssh。

相关内容