[自留]SSH 客户端无法在指定端口连接到目标主机,且连接请求超时处理

IT疑难杂症诊疗室 10w+人浏览 393人参与

ssh root@192.168.100.90时出现ssh: connect to host 192.168.100.90 port 22: Connection timed out

1、首先排查IP

在bash中无法ping通

但在管理员终端(PowerShell)中可以ping通

同一目标主机(192.168.100.90)在 Windows 主机上能正常 ping 通,但在 Linux 主机上 ping 失败(100% 丢包),说明两台主机与目标的网络连接存在差异。核心问题出在Linux 主机到目标主机的网络链路上,可能的原因及排查方向如下

2、检查 Linux 主机的 IP 配置(执行 ip addr或 ifconfig),确认其 IP 地址与目标主机(192.168.100.90)是否在同一子网

排查为不在同一子网,所以问题的核心原因是Linux 主机(WSL 环境)与目标主机(192.168.100.90)不在同一网段,且没有可达的路由,导致无法通信

3、使用 Windows 的端口转发(针对 SSH 场景)

执行 ip route 查看网关配置

记录IP(这里是172.19.160.1)和网卡名(eth0)

执行 sudo ip route add 192.168.100.0/24 via (记录IP) dev (记录网卡) ,也可以复制上张图框起来的部分粘贴到目标ip后面

执行后可通过ip route show 192.168.100.0/24检查是否配置成功

配置成功后,在管理员终端(PowerShell)中执行, listenaddress后填写记录ip,connectaddress后填写目标ip

netsh interface portproxy add v4tov4 listenaddress=172.19.160.1 listenport=2222 connectaddress=192.168.100.90 connectport=22

执行完成后,回到SSH执行即可,IP记得改为记录ip

ssh -p 2222 root@172.19.160.1

该方案是通过 Windows 代理 SSH,该方案属于临时处理,并未解决问题,但能用了不是

PS:该方法修改后scp指令执行不了,如下修改即可

原指令为

修改为

这里的P是大写哟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值