linux 有没有办法禁止root直接登录
而是如果需要root的时候用su命令登陆。
——最佳解决方案——————–
如果是远程利用ssh登录的话
修改/etc/ssh/sshd_config文件
把
PermitRootLogin yes
改成
PermitRootLogin no
重启sshd
——其他解决方案——————–
我照你的方法做了,不过导致别的账号也无法登陆了,我将参数改回yes,重启sshd,不生效了!
无论用什么账号登陆 /var/log/secure 中都会显示
refused connect from ::ffff:ip地址
——其他解决方案——————–
杯具了
除非你把设定文件修改错了 或者更改了别的地方
或者你曾经修改过设定文件 修改错误了 但是没有重启过 今天重启恰好生效了
否则单改PermitRootLogin no 不会造成这样的情况
这一句只是否运行root用户远程登录有关 不信你可以看看sshd_config配置手册
http://www.svn8.com/shouce/OpenSSH/sshd_config.html
——其他解决方案——————–
是不是当有远程ip连接到sshd服务上的时候,sshd服务无法重启?
——其他解决方案——————–
可以重启啊
你在检查一下你的sshd_config文件
修改之前备份了吗 对比一下修改前和修改后的区别
——其他解决方案——————–
重启sshd时,
/var/log/secure 中总出现:
Jun 29 15:09:54 localhost sshd[27932]: Server listening on :: port 22.
Jun 29 15:09:54 localhost sshd[27932]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
我将端口改为 39 则出现:
Jun 29 15:09:54 localhost sshd[27932]: Server listening on :: port 39.
Jun 29 15:09:54 localhost sshd[27932]: error: Bind to port 39 on 0.0.0.0 failed: Address already in use.
——其他解决方案——————–
重启sshd时,
/var/log/secure 中总出现:
Jun 29 15:09:54 localhost sshd[27932]: Server listening on :: port 22.
Jun 29 15:09:54 localhost sshd[27932]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
—————————–
别随便修改端口 你是如何重启的
用root执行如下命令 看看是哪个程序在使用22号端口
/usr/sbin/lsof -i tcp:22
如果本来就是sshd的话 就说明你的重启方法是错误的
——其他解决方案——————–
[root@mail ~]# lsof -i tcp:22
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 28216 root 3u IPv6 371977901 TCP *:ssh (LISTEN)