我有一个带有 Linux 操作系统的 Raspberry pi 4,并且我使用的是 Macbook。两台机器在同一个局域网内。
树莓派的IP地址是192.168.10.11
.我可以从 MacBook 终端成功 ping 通 Raspberry Pi。
在我的 MacBook 上,我在 下生成了一个 ssh 密钥对~/.ssh/
,文件名为raspberry
和raspberry.pub
。
在 Macbook 的终端中,我执行了命令:
ssh-copy-id -f -i raspberry.pub [email protected]
我验证它成功地将公钥添加到~/.ssh/authorized_keys
Raspberry Pi的文件中。我通过以用户身份登录root
Raspberry Pi 来验证它。
然后,在 MacBook 的新终端会话中,我运行与 Raspberry pi 的 ssh 连接:
ssh [email protected]
我以为它不会要求我登录密码,但我仍然收到密码提示,要求输入 root 用户密码。如果我输入正确的密码,我就可以以 root 用户身份登录树莓派。
但是为什么从我的 MacBook 到 Raspberry Pi 进行 SSH 登录时要求输入密码?我的意思是公钥位于~/.ssh/authroized_keys
Pi 的 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