cat /etc/ssh/sshd_config | grep Port
,2. 使用网络命令:ss -tlnp | grep sshd
或 netstat -tlnp | grep ssh
,3. 通过进程查看:sudo lsof -i -P -n | grep sshd
,直接查看配置文件最可靠,其他命令需root权限。在Linux系统中,查看SSH端口是管理服务器和确保网络安全的关键操作,SSH(Secure Shell)端口默认为22
,但出于安全考虑常被修改,以下提供两种主流方法,结合配置文件和网络状态检测,确保结果权威可靠:
方法1:查看SSH配置文件(推荐)
原理:直接解析SSH服务的配置文件,获取端口设定(无论服务是否运行)。
步骤:
- 打开终端,使用
grep
命令查看配置文件:grep -i port /etc/ssh/sshd_config
- 分析结果:
- 若输出类似
Port 2222
,则SSH端口为2222
。 - 若输出
#Port 22
(带注释),表示使用默认端口22。 - 若未返回任何结果,同样表示使用默认端口22。
- 若输出类似
注意事项:
- 需
root
权限读取文件(命令前加sudo
)。 - 修改此文件后需重启服务生效:
sudo systemctl restart sshd
。
方法2:通过网络监听状态验证
原理:检测当前活跃的SSH服务端口(仅当服务运行时有效),避免配置未生效的误判。
步骤:
- 使用
ss
命令(推荐):sudo ss -tulpn | grep sshd
- 备用命令(无
ss
时用netstat
):sudo netstat -tulpn | grep sshd
- 结果解读:
输出示例:tcp LISTEN 0 128 *:2222 *:* users:(("sshd",pid=1234,fd=3))
其中*:2222
表示SSH正在监听2222端口。
关键提示:
- 若输出为空,可能SSH服务未运行(启动服务:
sudo systemctl start sshd
)。 -p
参数需sudo
权限以显示进程名。
常见问题与安全建议
- 端口冲突:
若自定义端口(如2222),需确保防火墙放行:sudo ufw allow 2222/tcp # Ubuntu防火墙示例
- 多端口监听:
SSH配置文件支持多Port
行(如Port 22
和Port 2222
),此时会同时监听两个端口。 - 安全加固:
- 务必修改默认端口22,减少暴力破解风险。
- 使用密钥认证替代密码登录(配置项:
PasswordAuthentication no
)。
引用说明:本文方法基于Linux官方文档(OpenSSH手册)及网络工具标准用法(
ss
、netstat
手册页),适用于CentOS、Ubuntu、Debian等主流发行版,操作前请确保具备管理员权限。
通过以上步骤,您可精准定位SSH端口,并验证配置是否生效,保持端口非默认且配合防火墙规则,是服务器安全的第一道防线。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/16212.html