Bootstrap

调试嵌入式linux时,出现ssh不能远程登录的解决方法

        如题,最近在调试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子目录;

;