温馨提示×

centos怎么测试ssh连通

小樊
37
2026-07-19 08:01:20
栏目: 智能运维

CentOS 上测试 SSH 是否连通,通常从本机测试远程测试端口连通性几个层面来做。下面按常见场景给你一套完整方法。


一、确认 SSH 服务是否运行(本机)

1️⃣ 查看 sshd 状态

systemctl status sshd

正常应看到:

Active: active (running)

如果没启动:

systemctl start sshd
systemctl enable sshd

二、本机测试 SSH(localhost)

2️⃣ 本机连接测试

ssh localhost

ssh 127.0.0.1

✅ 能连说明 SSH 服务本身没问题
❌ 连不上说明 sshd 配置或防火墙有问题


三、测试 SSH 端口是否通(最常用)

3️⃣ 查看 SSH 监听端口

ss -lntp | grep ssh

netstat -lntp | grep ssh

默认端口是:

22

四、远程测试 SSH 连通(从另一台机器)

4️⃣ 使用 ssh 命令测试

ssh user@centos_ip

例如:

ssh root@192.168.1.10

✅ 能登录 = 完全正常
❌ 连接超时 = 网络 / 防火墙 / 端口问题


五、只测试端口是否通(不登录)

5️⃣ 使用 telnet

telnet centos_ip 22

看到类似:

SSH-2.0-OpenSSH_...

✅ 端口通


6️⃣ 使用 nc(推荐)

nc -vz centos_ip 22

✅ 成功示例:

Connection to 192.168.1.10 22 port [tcp/ssh] succeeded!

7️⃣ 使用 nmap

nmap -p 22 centos_ip

六、防火墙 & SELinux 排查(CentOS 常见坑)

8️⃣ 防火墙是否放行 22

firewall-cmd --list-ports

如果没有 22:

firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload

9️⃣ SELinux(一般不拦 SSH,但可确认)

getenforce

如果是 Enforcing,一般不影响 SSH,除非改过端口。


七、测试非默认 SSH 端口

如果 SSH 改过端口(如 2222):

ssh -p 2222 user@ip

nc -vz ip 2222

八、快速排错流程(推荐)

# 1. 服务
systemctl status sshd

# 2. 端口
ss -lntp | grep ssh

# 3. 防火墙
firewall-cmd --list-ports

# 4. 远程
ssh user@ip

如果你愿意,可以把 报错信息ssh -v user@ip 的输出贴出来,我可以直接帮你定位是哪一步的问题。

0