如题,最近在调试stm32mp157的板卡时,出现了ssh不能登录的问题,主要有两种情况,表现的都是不能ssh登录,现在具体描述一下,记录一下过程:
情况一:
调试过程中,使用ssh登录板卡,提示,连接被拒绝,使用串口控制台登录,直接运行/usr/sbin/sshd命令(切记,要使用绝地路径运行),有如下提示:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for '/etc/ssh/ssh_host_rsa_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for '/etc/ssh/ssh_host_ecdsa_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for '/etc/ssh/ssh_host_ed25519_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
经过查看、分析以上的提示,主要是ssh相关的私钥文件的权限太高了,直接被忽视了,所以修改一下这几个私钥的权限就可以了
1、修改rsa私钥的权限
chmod 700 /etc/ssh/ssh_host_rsa_key
2、修改ecdsa私钥的权限
chmod 700 /etc/ssh/ssh_host_ecdsa_key
3、修改ed25519私钥的权限
chmod 700 /etc/ssh/ssh_host_ed25519_key
再次运行/usr/sbin/sshd命令,正常情况下,就可以运行了,板卡也可以进行远程ssh登录了。
情况二:
在使用nfs文件系统时,出现如题所述的问题,使用串口控制台手动运行/usr/sbin/sshd命令时,出现/var/empty must be owned by root and not group or world-writable的问题,主要是权限的问题,解决方法如下:
1、如果/var/empty路径下,没有sshd的文件夹,创建该文件夹
2、修改sshd路径的用户组及其权限
(1)、修改用户组
chown root.root /var/empty/sshd
(2)、修改权限
chmod 744 /var/empty/sshd
3、修改empty路径的用户组及其权限
(1)、修改用户组
chown root.root /var/empty
(2)、修改权限
chmod 744 /var/empty
再次运行/usr/sbin/sshd,正常情况下就可以正常运行了,再起使用ssh进行远程登录,就可以正常登录了。
/var/empty的作用:
默认是sshd程序用到的这个目录,当建立ssh连接,ssh服务器必须使用该目录下的sshd子目录;