服务器SSH端口号如何查看?SSH端口号查询方法详解

服务器查看SSH端口号

SSH服务的默认端口号是22,但实际使用的端口需要通过检查服务器配置或网络监听状态来确定,以下是专业且权威的查看方法:

查看当前SSH服务监听的端口 (最直接可靠)

服务器上运行的SSH守护进程(sshd)会监听特定端口,使用以下命令查看其实际监听端口:

  1. 使用 ss 命令 (推荐,现代高效)

    sudo ss -tlnp | grep sshd
    • -t: 显示 TCP 连接。
    • -l: 仅显示监听(Listening)状态的套接字。
    • -n: 以数字形式显示端口和地址(不解析主机名、服务名)。
    • -p: 显示使用该套接字的进程信息。
    • grep sshd: 过滤出与 sshd 进程相关的行。
    • 输出示例:
      LISTEN 0      128          0.0.0.0:22026       0.0.0.0:    users:(("sshd",pid=1234,fd=3))
      LISTEN 0      128             [::]:22026          [::]:    users:(("sshd",pid=1234,fd=4))

      关键信息:0.0.0:22026 和 [::]:22026 表示 sshd 正在监听所有IPv4和IPv6地址上的 22026 端口。

  2. 使用 netstat 命令 (传统,广泛支持)

    sudo netstat -tlnp | grep sshd
    • -t: TCP 协议。
    • -l: 监听状态。
    • -n: 数字形式。
    • -p: 显示进程信息。
    • 输出示例与解读:
      tcp        0      0 0.0.0.0:22026           0.0.0.0:               LISTEN      1234/sshd
      tcp6       0      0 :::22026                :::                    LISTEN      1234/sshd

      关键信息:0.0.0:22026 和 ::22026 同样表示监听在 22026 端口。

  3. 使用 lsof 命令 (功能强大)

    sudo lsof -i -P -n | grep sshd | grep LISTEN
    • -i: 列出网络文件。
    • -P: 禁止端口名转换(显示数字端口)。
    • -n: 禁止主机名转换(显示IP地址)。
    • grep sshd | grep LISTEN: 过滤出 sshd 进程且处于 LISTEN 状态的行。
    • 输出示例:
      sshd     1234  root    3u  IPv4  12345      0t0  TCP :22026 (LISTEN)
      sshd     1234  root    4u  IPv6  12346      0t0  TCP :22026 (LISTEN)

      关键信息:`:22026表示在所有地址上监听22026` 端口。

查看SSH服务器配置文件 (明确配置的端口)

SSH服务的端口号在配置文件 /etc/ssh/sshd_config 中定义。

  1. 使用文本编辑器(如 vi, nano)或命令查看:
    sudo grep -i '^port' /etc/ssh/sshd_config
  2. 结果解读:
    • 如果输出类似 Port 22026,则明确配置的端口是 22026。
    • 如果输出类似 #Port 22(带注释符 ),则表示使用的是默认端口 22。
    • 如果该行完全不存在或被注释掉,使用的也是默认端口 22。
    • 重要提示: 配置文件中定义的端口是 sshd 计划 监听的端口,最终生效的端口必须与前面 ss/netstat/lsof 命令查看到的实际监听端口一致,如果修改了配置文件但未重启 sshd 服务 (sudo systemctl restart sshd),或者配置语法错误导致服务未加载新配置,实际监听的端口可能与配置文件不同。

从客户端远程扫描端口 (外部视角验证)

在另一台机器上使用 nmap 扫描服务器的IP地址,探测哪些端口开放了SSH服务:

nmap -p 1-65535 -sV --script banner <服务器IP地址>
  • -p 1-65535: 扫描所有端口(范围可根据需要调整)。
  • -sV: 进行版本探测,尝试识别服务。
  • --script banner: 使用 banner 脚本获取服务标识信息,有助于识别SSH。
  • 结果解读: 在输出结果中查找状态为 open 且服务识别为 ssh 的行,其对应的端口号即为服务器对外开放的SSH端口。此方法验证了外部网络可达性和防火墙规则设置是否允许该端口的连接。

关键注意事项与专业见解

  1. 权限要求: 使用 ss, netstat, lsof 查看进程监听的端口通常需要 root 权限 (sudo)。
  2. 默认端口风险: 强烈建议不要使用默认的22端口,这是自动化扫描和攻击的首要目标,修改为高位端口(如 10000-65535)可显著减少噪音扫描和自动化攻击尝试。
  3. 防火墙配置: 修改SSH端口后,必须相应更新服务器防火墙(如 firewalld, ufw, iptables)规则,明确允许新端口的入站连接,并禁止旧端口(尤其是22端口)的访问,否则会导致SSH无法连接。
  4. 配置生效: 修改 /etc/ssh/sshd_config 文件后,必须重启SSH服务 (sudo systemctl restart sshd) 才能使新端口生效,务必先确认新端口配置正确且防火墙已允许,并在重启前确保有备用的连接方式(如控制台)。
  5. 端口冲突: 选择新端口时,使用 ss -tuln 或 netstat -tuln 检查该端口是否已被其他服务占用,避免冲突。
  6. SELinux/AppArmor: 如果服务器启用了SELinux (常见于RHEL/CentOS) 或 AppArmor (常见于Ubuntu/Debian),修改端口后可能需要更新策略以允许 sshd 绑定到新端口,对于SELinux:
    sudo semanage port -a -t ssh_port_t -p tcp <新端口号> # 添加新端口
    sudo systemctl restart sshd # 重启服务
  7. 多端口监听: sshd_config 支持配置多个 Port 行,如同时监听22和一个自定义端口,这在迁移过渡期有用,但长期应关闭22端口。

专业解决方案:安全加固最佳实践

  • 第一步: 使用 ss -tlnp | grep sshd 确认当前实际监听端口。
  • 第二步: 编辑 /etc/ssh/sshd_config,添加或修改 Port 指令为自定义的高位端口 (Port 22026),注释掉或删除原有的 Port 22 行。
  • 第三步: 更新防火墙规则:
    • firewalld: sudo firewall-cmd --permanent --remove-service=ssh; sudo firewall-cmd --permanent --add-port=<新端口号>/tcp; sudo firewall-cmd --reload
    • ufw: sudo ufw allow <新端口号>/tcp; sudo ufw deny 22/tcp (确保应用规则 sudo ufw reload 或启用UFW)。
  • 第四步 (SELinux系统): 执行 sudo semanage port -a -t ssh_port_t -p tcp <新端口号>。
  • 第五步: 谨慎重启SSH服务: sudo systemctl restart sshd。
  • 第六步: 立即使用新端口测试连接 (如 ssh -p <新端口号> username@serverip)。
  • 第七步: 确认成功后,再次扫描服务器22端口应已关闭,只有新端口响应SSH。
  • 第八步 (可选但推荐): 结合密钥认证、禁用密码登录、使用Fail2ban等进一步增强SSH安全。

遇到SSH连接问题?欢迎分享您的场景:

  • 您修改SSH端口后是否遇到过无法连接的情况?是如何解决的?
  • 对于高安全环境,除了改端口,您认为最关键的SSH加固措施是什么?
  • 是否存在必须保留22端口监听的情况?如何平衡安全与便利?

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/30686.html

赞 (0)
上一篇 2026年2月14日 06:25
下一篇 2026年2月14日 06:28

相关推荐

  • 服务器加磁盘怎么做,需要哪些步骤和注意事项?

    服务器加磁盘并不是即插即用那么简单,必须提前确认硬件兼容性、RAID卡支持和操作系统识别策略,否则很容易出现无法识别或数据丢失的情况,服务器加磁盘怎么加?从选型到上线全流程很多运维人员面对服务器存储不足时,第一反应就是直接买块硬盘插上,但在实际部署中,服务器加磁盘涉及接口协议、RAID卡驱动、背板供电等多个环节……

    2026年8月7日
    400
  • 你知道三体里的服务器有哪些吗?,三体服务器是什么?

    三体中的服务器体系涵盖了从三体游戏主控系统、智子计算核心到威慑纪元引力波服务器等多个层级,它们共同构成了这部硬科幻史诗的技术基石,三体游戏服务器:虚拟世界的真实支撑在《三体》中,三体游戏是一个高度拟真的虚拟现实世界,玩家通过特殊头盔进入一个由服务器实时构建的文明演化场景,这要求服务器有极高的图形处理能力和数据吞……

    2026年8月17日
    800
  • 个人推荐虚拟主机哪个好用?2026年高性价比虚拟主机推荐

    对于个人博客、企业官网及轻量级电商,优先选择具备独立IP、支持SSD硬盘且提供一键部署WordPress环境的国内备案主机,若面向海外用户则首选配置全球CDN加速的海外主机,选择虚拟主机并非越贵越好,而是看匹配度,很多新手站长在初期容易陷入“参数崇拜”,盲目追求高配置,结果发现带宽瓶颈或服务器响应延迟反而成了体……

    2026年5月31日
    3600
  • 服务器搭建安卓系统云手机,云手机服务器怎么搭建?

    服务器搭建安卓系统云手机的核心在于通过虚拟化技术,在服务器端运行安卓系统,并通过网络传输实现远程操控,这一方案能显著降低硬件成本,提升设备管理效率,尤其适合企业批量部署或个人多开需求,核心优势低成本高效率:传统安卓设备需采购多台终端,而云手机仅需一台服务器即可运行多个安卓实例,节省硬件开支,灵活扩展:根据需求动……

    2026年3月1日
    16000
  • 服务器排序规则是什么?如何修改服务器排序规则设置

    服务器排序规则的核心在于算法对性能指标、用户需求与商业价值的综合权重分配,而非单一维度的简单比较,理解这一规则,是优化服务器选型、提升业务响应速度与降低运营成本的关键所在,服务器排序规则本质上是一个动态的多目标优化模型,它要求运维人员与架构师跳出单纯的硬件参数对比,转而从业务场景出发,构建匹配度最高的基础设施架……

    2026年3月13日
    11600
  • 服务器开发需要什么技术?服务器开发必备技能详解

    服务器开发是一项系统性工程,核心技术栈的选择直接决定了系统的稳定性、并发处理能力与可维护性,服务器开发需要什么技术?核心结论在于:必须构建以编程语言为基石、操作系统原理为内功、网络编程与数据库技术为核心支柱、分布式架构为进阶方向的完整技术体系, 这不仅是代码实现的逻辑,更是对计算机底层资源调度与数据流转的深度掌……

    2026年4月6日
    8500
  • 服务器用盗版系统会怎样?企业选择正版系统更安全可靠

    服务器盗版系统吗?绝对不行, 在服务器上使用盗版操作系统或软件(如Windows Server、Linux企业发行版、数据库软件、虚拟化平台等)是极其危险且得不偿失的行为,这绝非简单的道德问题,而是会为企业带来毁灭性的法律、安全、性能和声誉风险,法律风险:高悬的达摩克利斯之剑侵权重罚: 使用盗版软件明确违反了……

    2026年2月8日
    14000
  • 服务器的生产商有哪些,哪个品牌的服务器性价比高?

    服务器生产商主要包括以戴尔、惠普企业(HPE)、浪潮、联想、超微、思科为代表的国际老牌巨头,以华为、新华三、中科曙光、宝德、宁畅为代表的国产主力军,以及以超聚变、昆仑计算为代表的新锐力量;阿里云、腾讯云、华为云等云厂商通过自研和定制化生产,也构成了“云服务器”领域的核心制造商阵营,从2026年的市场格局来看,选……

    2026年8月23日
    100
  • 服务器一般有哪些品牌,哪个牌子质量好又便宜?

    服务器品牌的选择并非单一,硬件层面以戴尔、惠普、华为、浪潮为代表,服务层面则需关注IDC运营商如简米科技、酷番云等持牌服务商,硬件服务器品牌的主流格局硬件服务器是基础设施的核心,品牌格局由国际巨头和国内厂商共同构成,不同品牌在性能、稳定性和生态支持上各有侧重,国际品牌:戴尔、惠普、IBM、超微戴尔(Dell E……

    2026年8月20日
    400
  • 仙侠手游都有哪些服务器,哪个服务器最稳定?

    仙侠手游的服务器主要分为官服、渠道服和混服三大类,选择关键看延迟、稳定性和数据互通,想玩得爽,先搞清楚你进的服务器是哪一类,背后又是谁在提供基础设施,仙侠手游服务器类型详解官服:官方直营,数据最稳官服由游戏研发商直接运营或授权运营,服务器通常部署在持牌自营机房,在数据安全、更新速度和长期运维上最有保障,比如国内……

    2026年8月16日
    400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(3条)

  • brave806love
    brave806love 2026年2月16日 13:40

    这篇文章讲得挺实在的,作为一个爱钻牛角尖的边缘情况探索者,我觉得它抓到了关键点。SSH端口默认是22,但现实中端口被改的可不少,文章强调检查配置和监听状态是正路,这方法确实靠谱又权威。不过啊,我总爱琢磨极端场景:比如服务器被黑时,黑客改了端口还伪装监听,或者多个服务抢端口导致冲突,这时候光看配置文件可能不够,还得结合网络扫描工具才保险。还有,新手用户容易忽略端口22被禁的情况,直接操作可能翻车。文章说得简明,但实际中这些小概率事件往往最难搞,建议大家多备份配置,别光靠默认值。总体来说,实用性很强,值得收藏!

  • 米学生6
    米学生6 2026年2月16日 15:30

    这篇文章讲得真棒!让我想起二战密码机配置,默认设置常被破解,检查实际端口才安全,历史教训啊。

  • 酷绿8272
    酷绿8272 2026年2月16日 17:00

    这篇文章讲得挺清楚的,方法确实专业又实用,特别是直接查看SSH监听端口那招,对普通管理员来说很省事。不过作为边缘情况爱好者,我总爱琢磨那些奇葩场景。比如,如果服务器被安全加固了,SSH端口可能被改成随机值或隐藏起来,这时候你跑那些命令可能啥也查不出来,还得手动翻配置文件。再比如,网络环境复杂时,防火墙阻塞或容器端口映射错误,查询结果可能误导人,让你以为端口开着实际连不上。我在实际测试中就碰到过SSH服务崩溃的情况,监听命令直接报错,搞得一脸懵。总的来说,文章的核心方法很可靠,但极端条件下得多个心眼,检查服务状态和网络规则不能少,毕竟现实世界里总有意外等着呢!