linux系统禁止root用户通过ssh登录及ssh的访问控制
2013-10-13 09:15
886 查看
Linux系统默认情况下,是可以通过ssh以root权限登录的。但出于安全考虑,这样的权限是不合适的,因为黑客可能通过暴力破解你的root密码,然后进入你的系统,oh,damn it.....
同样是出于安全性考虑,我们在日常使用linux系统时,一般是通过普通用户来进行操作,在某些操作需要root权限时,通过su - 命令,或者sudo命名获取root权限进行操作,而不是一直以root用户在系统中横冲直撞,因为说不定什么时候你手一抖,就进行了一些危险性的操作。
那么如何禁止以root通过ssh登录到系统呢?
是否允许root用户通过ssh登录,是通过操作sshd_config配置文件来实现的。当一个ssh连接建立时,操作系统会检查相关文件的配置信息,从而决定是否接受该连接。
因此,为禁止root用户通过ssh登录,我们先找到 /etc/ssh/sshd_config文件,通过编辑器打开该文件。比如,通过vim打开该文件:
# vi /etc/ssh/sshd_config
在文件中找到下面一行文字:
#PermitRootLogin no
去掉该行前面的#号,使其成为下面这样:
PermitRootLogin no
接下来,在shell中输入以下命令来重启ssh服务
# /etc/init.d/sshd restart
接下来你再试图以root登录系统时,就会出现“拒绝访问”的错误提示信息:
login as: root Access denied root@172.31.41.51's password:
好的,现在我们可以通过普通用户登入系统,如需要root权限相关的操作,可以通过su -命令切换到root用户,如下所示:
login as: tecmint Access denied tecmint@172.16.25.126's password: Last login: Tue Oct 16 17:37:56 2012 from 172.16.25.125 [tecmint@tecmint ~]$ su - Password: [root@tecmint ~]#
同样的道理,如果想要运行通过root用户的ssh登录,我们只要将开始的改变改回去就行,即将 /etc/ssh/sshd_config文件中的行
PermitRootLogin no
前面加上#,变成如下并保存。
#PermitRootLogin no
再通过以下命令重启ssh服务
# /etc/init.d/sshd restart
如果你的系统里用户众多,想允许一部分用户通过ssh登录,而其他用户则禁止通过ssh登录。你可以这样做:
首先打开文件/etc/ssh/sshd_config
# vi /etc/ssh/sshd_config
然后在文件的末尾加上这样一行文字,其中tecmint、sheena即为允许通过ssh登录的用户。
AllowUsers tecmint sheena
译者:Viidiot 微信公众号:linux-code
相关文章推荐
- linux系统禁止root用户通过ssh登录及ssh的访问控制
- linux系统禁止root用户通过ssh登录及ssh的访问控制
- 禁止root通过SSH远程登录访问与限制某些用户远程登录
- 禁止root通过SSH远程登录访问
- Linux 中无法使用 root 用户通过 SSH 远程登录解决方法
- Linux中禁止root用户SSH登录及修改SSH端口的方法
- linux中禁止root用户ssh远程登录并修改ssh远程登录端口
- 禁止ROOT通过SSH远程登录访问
- Linux 禁止用户或 IP通过 SSH 登录
- Linux禁止root用户SSH远程登录
- Linux启动或禁止SSH用户及IP的登录
- 通过Python 获取Linux系统用户的登录信息
- 【Hadoop系列】linux下 root用户免密码登录远程主机 ssh
- linux禁止root用户直接登录sshd并修改默认端口
- Linux 系统强制踢掉登录用户并禁止用户再次登录系统
- linux下开启SSH,并且允许root用户远程登录,允许无密码登录
- linux下禁止root用户远程登录
- CentOS 6.9中允许用户通过SFTP方式登录,禁止SSH方式登录
- oa系统禁止用户直接通过url去访问<iframe>的页面
- Linux启动或禁止SSH用户及IP的登录