centos6.5 ssh安全优化,修改默认端口名,禁止root远程登录
一、修改默认端口号
第一步:
vi /etc/sysconfig/iptables
添加修改后的端口号的配置
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22001 -j ACCEPT
本例中,使用22001端口
添加后保存配置并重启防火墙。
service iptables save (保存防火墙配置) ----此处貌似有问题,运行这个以后又恢复到修改前了。这个先不使用。
service iptables restart (重启防火墙)
----可通过 /etc/init.d/iptables status 命令查看是否已添加成功。
第二步:
vi /etc/ssh/sshd_config
去除Port 22 前的#注释符号
添加Port 22001
保存后重启ssh服务
service sshd restart
第三步:用secureCRT等SSH连接工具测试,测试成功的话删除22端口的防火墙配置和端口设置。
不直接修改端口号是为了防止修改过程中出错,导致无法连接到服务器。
----------------------------------------
本人遇到的问题:一开始我新增的端口号是2201,但是怎么重启都无法连接,后来改成22001才成功,具体原因还未了解。
用sysctl -a|grep ip_local_port_range 查得的范围,2201应该是允许使用的,实际未成功,待继续研究了解。
二、禁止root用户远程登录
第一步:先增加一个普通权限的用户
#useradd ssh_user
#passwd ssh_user
//设置密码,确认密码
第二步:禁止root远程ssh登录:
vi /etc/ssh/sshd_config
把
PermitRootLogin yes
改为
PermitRootLogin no
保存并重启ssh服务
service sshd restart (或者/etc/init.d/sshd restart)
使用普通用户ssh_user登录,然后用su root切换到root用户操作。