服务器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 -tulnnetstat -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

相关推荐

  • 山东AI推理租GPU服务器怎么选显卡型号?,哪个性价比高?

    对于山东AI推理业务租GPU服务器,显卡型号选择需根据推理模型类型、并发量、延迟要求和预算综合对比,目前主流方案是NVIDIA A10、A100、L40S等,关键在于匹配显存与算力需求,山东AI推理业务显卡型号对比指南推理场景下显卡核心指标AI推理与训练对显卡的需求不同,推理更看重显存容量、内存带宽以及低精度算……

    2026年8月11日
    1800
  • 个人域名能注册公司用吗,个人域名怎么过户给公司

    个人注册的域名完全可以给公司使用,但在税务合规、资产归属及后续融资环节存在显著风险,建议通过“域名转让”或“授权协议”将所有权正式转移至公司名下,在创业初期,为了节省开支或图方便,很多创始人选择用个人身份证注册域名,这种做法在技术层面没有任何障碍,网站能正常打开,SEO也能正常收录,随着业务规模扩大,这种“公私……

    2026年5月28日
    3100
  • 个人小程序服务器怎么配置?个人小程序服务器租用费用

    个人小程序服务器并非必须购买昂贵的云服务器,对于轻量级应用,使用免费或低成本的静态托管及Serverless架构是更具性价比且符合2026年技术趋势的选择,很多开发者在起步阶段都会陷入一个误区,认为只要做小程序就必须租赁传统的Linux云服务器,这种观念在几年前或许成立,但随着云计算技术的普及和架构的演进,这种……

    2026年5月30日
    5300
  • 网站提示维护中怎么办?网站正在维护中怎么解决

    网站正在进行维护是技术升级或故障修复的必要过程,用户只需耐心等待官方公告,无需过度焦虑或频繁刷新,通常24至48小时内即可恢复正常访问,当你在浏览器地址栏输入网址,却看到一片空白或一行冷冰冰的“该网站正在进行维护”提示时,第一反应往往是困惑甚至焦虑,对于普通网民来说,这就像走进一家熟悉的店铺,却发现大门紧闭,门……

    2026年7月3日
    3200
  • 复杂网络理论PDF怎么下载?,百度云网盘资源哪里找

    复杂网络理论是研究网络结构与动态行为的核心框架,其PDF资料是自学和科研的首选入门资源,无论你是刚接触网络科学的学生,还是需要分析社交网络、生物网络的研究者,一份系统梳理概念、模型和算法的PDF文档都能帮你快速搭建知识体系,下面直接推荐几类值得收藏的PDF资源,并给出自学路径,复杂网络理论PDF资源推荐:从入门……

    2026年8月1日
    700
  • LOL哪些大区的服务器在重庆,哪个大区延迟低?

    英雄联盟中,服务器物理节点位于重庆的主要大区包括钢铁烈阳、裁决之地、水晶之痕,以及部分电信老区(如重庆1区已合并入其他大区),具体分配基于腾讯云西南数据中心架构,各大区与重庆服务器的关联官方架构与用户感知腾讯云在全国部署了多个数据中心节点,重庆作为西南地区的核心枢纽,承担了部分大区的服务器承载任务,根据腾讯云公……

    2026年8月19日
    400
  • 高端网站建设公司排名?哪家高端建站公司更靠谱

    2026年高端网站建设公司排名的核心评判标准已从单纯的视觉设计,全面转向“AI交互体验、全链路转化与数据安全合规”的综合实力比拼,目前位居行业头部的企业均具备深度商业策略咨询与前沿AIGC技术应用能力,2026高端建站行业格局与排名洞察行业生态重构:从展示到智能转化根据中国互联网络信息中心(CNNIC)2026……

    2026年4月29日
    9700
  • 服务器容器管理怎么选?容器编排工具K8s与Docker Compose区别

    服务器容器管理的核心在于:通过标准化、自动化、可移植的容器化技术,实现资源高效利用、应用快速交付与运维成本显著降低,相比传统虚拟机部署,容器技术将应用及其依赖打包为轻量级镜像,启动速度提升10倍以上,资源占用降低60%-70%,已成为现代云原生架构的基石,为什么需要专业化的服务器容器管理?资源利用率低:传统物理……

    服务器运维 2026年4月16日
    5300
  • 服务器怎么分盘的?服务器磁盘分区详细步骤教程

    服务器分盘的核心在于依据业务类型与数据安全策略,构建科学的分区层级,而非单纯追求物理空间的划分,合理的分盘方案能够隔离系统故障风险、提升I/O性能并简化后期运维,这是保障服务器长期稳定运行的基石,服务器分盘必须遵循“系统与数据分离、日志与业务分离”的原则,避免单一分区写满导致系统崩溃或服务中断, 分盘前的核心规……

    2026年3月21日
    12900
  • 如何配置服务器矩阵?服务器矩阵配置优化技巧

    服务器矩阵配置是一种高级的服务器集群设置方法,通过整合多个服务器节点实现资源共享、负载均衡和高可用性,从而提升数据中心或企业IT基础设施的性能和可靠性,这种配置广泛应用于云计算、大数据处理和关键业务系统,确保服务不间断运行并优化资源利用率,什么是服务器矩阵配置?服务器矩阵配置的核心在于将多个物理或虚拟服务器组织……

    2026年2月8日
    11300

发表回复

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

评论列表(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服务崩溃的情况,监听命令直接报错,搞得一脸懵。总的来说,文章的核心方法很可靠,但极端条件下得多个心眼,检查服务状态和网络规则不能少,毕竟现实世界里总有意外等着呢!