文章转自:http://os.51cto.com/art/200912/172922.htm
Linux现在已经在很多的行业得到普及,Linux系统越来越受到各行各业的喜欢,于是很多人开始学习Linux时,学习Linux,你可能会遇到Linux SSH默认22端口问题,这里将介绍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.241

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

NO 2:

首先修改配置文件

vi /etc/ssh/sshd_config

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

Port 22

Port 999

然后保存退出

执行/etc/init.d/sshd restart

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

现在编辑防火墙配置:vi /etc/sysconfig/SuSEfirewall2

启用18080端口。

执行rcSuSEfirewall2 restart

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

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

以上就是Linux SSH默认22端口的修改方法,望你能掌握。

那如何在防火墙启用18080端口呢

我修改了SuSEfirewall2的如下属性FW_SERVICES_EXT_TCP="20 21 22 18080" 标红的后面两个是新加的、
FW_SERVICES_EXT_TCP是TCP的端口连接情况

总结一下 要让其他机器通过ssh访问自己,必须首先在/etc/ssh/sshd_config 中进行端口配置,然后在防火墙中设置开放这个端口,那么其他机器就能够通过ssh来访问自己了

 

然后自己做了测试,在本服务器的sshd_config文件中不配置任何port,外部机器用默认的22端口能ssh访问本服务器,如果配一个其他的port,那么外部机器将不能通过22端口来ssh访问本服务器,只能通过配置的端口来ssh访问,如果同时配上22端口和另外一个端口,则外部机器可以同时通过这两个端口来ssh访问服务器。前提是上面说的防火墙配置中一定要开放提供给外部访问的端口