查看: 1043|回覆: 1

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

[複製鏈接]

13

主題

0

回帖

39

積分

技术1级

金币
26
閲讀權限
10
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2009-4-19
QQ
發表於 2013-8-11 01:08:10 | 顯示全部樓層 |閲讀模式
第1步:假如要限制通过SSH登陆Linux的IP,那么可以如下做:

首先:修改/etc/hosts.deny,在其中加入sshd:ALL,注意不能加#号

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

这样设置就只允许192.168.1.16的IP通过SSH登陆上LINUX机器了。

当然在做为服务器方面,不安装gnome和KDE图形化界面,可以增加安全系数。

第2步:修改配置文件

vi /etc/ssh/sshd_config

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

Port 22

Port 999

去掉前面的#号。

然后保存退出

在终端输入命令:/etc/init.d/sshd restart 重新启动ssh服务。

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

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

启用999端口。

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 999 -j ACCEPT

在终端输入命令:/etc/init.d/iptables restart 重新启动防火墙的访问规则。

现在请使用ssh工具连接999端口,来测试是否成功。如果连接成功了,则再次编辑sshd_config的设置和防火墙的端口,将里边的Port22删除,然后重新启动ssh服务和防火墙的访问规则即可。

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

使用道具 舉報

0

主題

2092

回帖

1萬

積分

琼殿精英

金币
10581
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-11
發表於 2026-6-14 01:11:35 | 顯示全部樓層
顶一个!非常实用的教程,对于经常管理Linux服务器的朋友来说很实用。

我来补充几点小建议:

关于SSH安全,除了改端口和限制IP,还可以考虑:

1. 禁用root用户直接登录,改用普通用户+sudo
2. 使用密钥登录,禁用密码认证
3. 安装fail2ban防止暴力破解

关于防火墙规则,在CentOS 7以上版本,可以用以下命令更方便地操作:
  1. firewall-cmd --permanent --add-port=999/tcp
  2. firewall-cmd --reload
  3. firewall-cmd --list-ports
複製代碼

另外提醒一下,如果用的是云服务器(比如阿里云、腾讯云),别忘了在安全组里也要开放对应的端口。

感谢楼主的分享,步骤讲解得很清楚,特别是先开两个端口再关一个的方法很稳妥,避免了远程调试失败要去机房的尴尬哈哈。

支持!希望能看到更多这样的技术干货帖。

圆梦公社加油![加油]
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

圆梦公社,专注于为全球华人提供纯粹技术交流的地方,请勿发布任何政治及违法的言论。如有相关侵权、举报、投诉及建议等,请发 E-mail:dzh188@hotmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部