即使在远程计算机的 ~/.ssh/authorized_keys 文件中添加公钥,SSH 登录仍会询问密码

即使在远程计算机的 ~/.ssh/authorized_keys 文件中添加公钥,SSH 登录仍会询问密码

我有一个带有 Linux 操作系统的 Raspberry pi 4,并且我使用的是 Macbook。两台机器在同一个局域网内。

树莓派的IP地址是192.168.10.11.我可以从 MacBook 终端成功 ping 通 Raspberry Pi。

在我的 MacBook 上,我在 下生成了一个 ssh 密钥对~/.ssh/,文件名为raspberryraspberry.pub

在 Macbook 的终端中,我执行了命令:

ssh-copy-id -f -i raspberry.pub [email protected]

我验证它成功地将公钥添加到~/.ssh/authorized_keysRaspberry Pi的文件中。我通过以用户身份登录rootRaspberry Pi 来验证它。

然后,在 MacBook 的新终端会话中,我运行与 Raspberry pi 的 ssh 连接:

ssh [email protected]

我以为它不会要求我登录密码,但我仍然收到密码提示,要求输入 root 用户密码。如果我输入正确的密码,我就可以以 root 用户身份登录树莓派。

但是为什么从我的 MacBook 到 Raspberry Pi 进行 SSH 登录时要求输入密码?我的意思是公钥位于~/.ssh/authroized_keysPi 的 root 用户下。我想念哪里?

答案1

您可以在文件夹config中创建一个文件.ssh并添加IdentityFile /home/youruser/.ssh/mykey以设置要使用的默认密钥。

之后,检查 SSH 目录及其内容是否具有正确的权限(您可以运行stat --format '%a' <file or dir>):

  • .ssh:700
  • private key:600
  • public key:644
  • authorized_keys:600

相关内容