当前位置:首页 > Linux > 正文

Linux如何查看SSH端口?

查看Linux的SSH端口有三种常用方法: ,1. 检查配置文件: cat /etc/ssh/sshd_config | grep Port ,2. 使用网络命令: ss -tlnp | grep sshdnetstat -tlnp | grep ssh ,3. 通过进程查看: sudo lsof -i -P -n | grep sshd ,直接查看配置文件最可靠,其他命令需root权限。

在Linux系统中,查看SSH端口是管理服务器和确保网络安全的关键操作,SSH(Secure Shell)端口默认为22,但出于安全考虑常被修改,以下提供两种主流方法,结合配置文件和网络状态检测,确保结果权威可靠:


方法1:查看SSH配置文件(推荐)

原理:直接解析SSH服务的配置文件,获取端口设定(无论服务是否运行)。
步骤

  1. 打开终端,使用grep命令查看配置文件:
    grep -i port /etc/ssh/sshd_config
  2. 分析结果
    • 若输出类似 Port 2222,则SSH端口为2222
    • 若输出#Port 22(带注释),表示使用默认端口22
    • 若未返回任何结果,同样表示使用默认端口22。

注意事项

Linux如何查看SSH端口?  第1张

  • root权限读取文件(命令前加sudo)。
  • 修改此文件后需重启服务生效:sudo systemctl restart sshd

方法2:通过网络监听状态验证

原理:检测当前活跃的SSH服务端口(仅当服务运行时有效),避免配置未生效的误判。
步骤

  1. 使用ss命令(推荐):
    sudo ss -tulpn | grep sshd
  2. 备用命令(无ss时用netstat):
    sudo netstat -tulpn | grep sshd
  3. 结果解读
    输出示例:tcp LISTEN 0 128 *:2222 *:* users:(("sshd",pid=1234,fd=3))
    其中*:2222表示SSH正在监听2222端口

关键提示

  • 若输出为空,可能SSH服务未运行(启动服务:sudo systemctl start sshd)。
  • -p参数需sudo权限以显示进程名。

常见问题与安全建议

  1. 端口冲突
    若自定义端口(如2222),需确保防火墙放行:

    sudo ufw allow 2222/tcp  # Ubuntu防火墙示例
  2. 多端口监听
    SSH配置文件支持多Port行(如Port 22Port 2222),此时会同时监听两个端口。
  3. 安全加固
    • 务必修改默认端口22,减少暴力破解风险。
    • 使用密钥认证替代密码登录(配置项:PasswordAuthentication no)。

引用说明:本文方法基于Linux官方文档(OpenSSH手册)及网络工具标准用法(ssnetstat手册页),适用于CentOS、Ubuntu、Debian等主流发行版,操作前请确保具备管理员权限。

通过以上步骤,您可精准定位SSH端口,并验证配置是否生效,保持端口非默认且配合防火墙规则,是服务器安全的第一道防线。

0