Linux的管理用户是root,远程连接的默认端口是22,这是通常有IT经验的人都知道的。为了系统安全,我们通常都会修改这些默认的设置,下面就说下怎么修改ssh的配置。实验用的系统为CentOS6.9,其他的Linux也可以参考。

1、修改ssh连接的端口

ssh的端口默认为22,我们可以通过修改配置文件改为一个非著名的端口,比如2222.

vim /etc/ssh/sshd_config

用vim编辑器打开sshd_config,把22端口改为2222,然后保存退出。

image.pngimage.png

注意:配置文件生效之前,我们要在防火墙放行2222端口,设置iptables。

iptables -I INPUT -p tcp -m tcp --dport 2222 -j ACCEPT    #放行2222端口
/etc/init.d/iptables save    #保存iptables配置
/etc/init.d/iptables restart    #重启iptables服务

重载ssh配置文件,不建议用restart来重启ssh服务,这样会影响到现有的ssh连接。

/etc/init.d/sshd reload

然后用XShell重新连接看看,连接成功。

更改SSH服务器远程登录设置_第1张图片image.png


2、禁止root用户直接ssh连接

    root这个帐号是所有人都知道并且拥有最高权限的帐号,直接暴露在网络中不大安全,我们可以禁止ssh使用root连接,同样只需要修改ssh的配置文件即可。在这里要确认自己的系统有一个可以登录的普通帐号,用该帐号登录之后再su -切换到root,或者将该帐号加入sudoers里面。

用vim编辑器打开ssh的配置文件,找到PermitRootLogin那行,去掉注释,参数改为no,或者直接在最后几行加入下面的几条参数。(这几个命令都可以在配置文件找到的)

PermitRootLogin no        #是否允许root登录
PermitEmptyPasswords no        #是否允许空密码登录
UseDNS yes        #是否对远程主机名进行反向解析,关闭会提高连接的速度
GSSAPIAuthentication no        #解决Linux之间使用ssh连接慢的问题

修改之后,保存退出,然后重新加载ssh文件即可。


3、其他

    如果对安全有更高的要求,可以更高ssh的监听ip,使其只监听内网的ip。可以通过防火墙来限制来源的IP地址

iptables -I INPUT -s 192.168.17.0/24 -p tcp --dport 2222 -j ACCEPT
/etc/init.d/iptables save    
/etc/init.d/iptables restart