需求:出于设备安全方面的考虑,客户要求root用户必须禁止使用ssh来连接开发板;
需求实现:
(1)使用root用户登录系统,添加一个普通账号,并为其设置密码(设置一个普通账号的目的就是可以ssh连接到这个普通账号,再有普通账号切换到root用户);
(2)编辑ssh的配置文件/etc/ssh/sshd_conf修改PermitRootLogin后面的yes为no,同时可以修改限制登录的次数;
#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
MaxAuthTries 6
#MaxSessions 10
(3)重启sshd服务
使用命令systemctl restart sshd.service,这里在重启ssh时报如下错误,重启失败;
(4)以下是解决重启失败问题的过程:
在网上也是找各种原因,刚开始以为是重启命令不对,就尝试用其他重启命令:
都是报各种奇奇怪怪的错误,还是回到最开始使用的那条命令,根据错误提示进行排查,按照提示输入
systemctl status ssh.service
执行命令的结果:
给出的错误提示完全看不懂,再各种查,最后怀疑是不是修改sshd_config配置文件的时候出的问题,然后就根据帖子
https://blog.csdn.net/woailyoo0000/article/details/79782986
提示,使用命令 /usr/sbin/sshd -T查看一下错误的具体位置,这个就类似于gdb调试了,可以准确定位错误的具体位置;
还真是配置文件写错导致的,首先是不能识别这条命令:DenyUsers:root,还有就是164行多写了一个字符‘r’,问题找到,重新修改配置,重启ssh成功;
参考:
https://www.cnblogs.com/wuotto/p/9707030.html
https://blog.csdn.net/woailyoo0000/article/details/79782986