Skip to content


Linux操作系统下SSH默认22端口修改方法

摘自互联网

NO 1:

 01假如要改SSH的默认端口(22),那么你只要修改:/etc/ssh/sshd_config中Port 22,这里把22改成自己要设的端口就行了,不过千万别设和现已有的端口相同哦,以防造成未知后果。

02假如要限制SSH登陆的IP,那么可以如下做:

先:修改/etc/hosts.deny,在其中加入sshd:ALL

然后:修改:/etc/hosts.allow,在其中进行如下设置:sshd:192.168.0.155

这样就可以限制只有192.168.0.155的IP通过SSH登陆上LINUX机器了。当然在做为服务器方面,我都不装gnome和KDE的,而且很多东东都不装,这样增加安全系数。

 

NO 2:

首先修改配置文件

vi /etc/ssh/sshd_config

找到#Port 22一段,这里是标识默认使用22端口,修改为如下:

Port 22

Port 6022

然后保存退出

执行/etc/init.d/sshd restart

kill -HUP `cat /var/run/sshd.pid`

ssh只要你已经连上了,无论重启ssh还是改端口,还是关闭ssh服务,当前已经连上的连接都不会断的。这点和远程配置防火墙是不一样的。因此,远程重启ssh、改ssh端口,甚至暂时关闭ssh都是安全的 。

这样SSH端口将同时工作与22和6022上

现在编辑防火墙配置:
vi /etc/sysconfig/iptables
如果有
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
增加一条
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 6022 -j ACCEPT

iptables -A INPUT -p tcp --dport 6022 -j ACCEPT
iptables -A OUTPUT -p udp --sport 6022 -j ACCEPT

启用6022端口。

执行/etc/init.d/iptables save (千万别忘了,不然重启后可能不能登录)

执行/etc/init.d/iptables restart

重启sshd服务后,netstat -lnp看一下

 

现在请使用ssh工具连接6022端口,来测试是否成功。如果连接成功了,则再次编辑sshd_config的设置,将里边的Port22删除,即可。

 

之所以先设置成两个端口,测试成功后再关闭一个端口,是为了方式在修改conf的过程中,万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去调试以免发生连接不上必须派人去机房,导致问题更加复杂麻烦。

当使用 rsync 远程备份
       rsync -lptv /home/andy/localfile -e ‘ssh -p 6022’ sshuser@sshhost:remotefolder

端口转发方法(未测试)
iptables -I INPUT -p tcp –dport 22 -j DROP
iptables -t nat -I PREROUTING -d 你的IP -p tcp –dport 22 -j DNAT –to 127.0.0.1:新端口

 做完可以再用nmap扫一下

防御暴力破解SSH攻击
http://coolerfeng.blog.51cto.com/133059/50947

Posted in LINUX, 安全, 技术.

Tagged with , .


One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

Continuing the Discussion

  1. linux基本安全配置手册 linked to this post on 2010/08/17

    […] Linux操作系统下SSH默认22端口修改方法 […]



Some HTML is OK

or, reply to this post via trackback.