问题
使用 buildroot 编译了一个树莓派镜像,启动后发现没有 sshd 功能,于是 make menuconfig 添加 openssh,重新编译烧录启动,然而发现树莓派拒绝 ssh 连接请求,下面是 ssh 客户端报错信息:
root@192.168.1.41's password:
Permission denied, please try again.
root@192.168.1.41's password:
改密码
首先想到的是:root 账户目前没密码,或者我输入的密码有误。不管是哪一种,先把密码改了再试一下
# passwd
Changing password for root
New password:
Bad password: too weak
Retype password:
passwd: password for root changed by root
再次连接,失败。重启后再连接,还是失败。
改 sshd 配置文件
后来查阅资料,了解到修改 sshd 的配置文件可以解决这个问题
#LoginGraceTime 2m
-#PermitRootLogin prohibit-password
+PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
因为 sshd 默认禁止 root 账户登录,所以需要使能 PermitRootLogin 选项,PermitRootLogin prohibit-password
表示允许 root 账户登录,但是不能以密码的方式登录,所以只能以公私钥的方式登录,为了简便,我们不采用这种方式,而是采用 PermitRootLogin yes
,这样,直接使用密码就可以登录了。
验证
重启 sshd 服务,这里我直接关机重启。
连接,输入密码,登录成功。