问题概述
手上有一台华为弹性云服务器,位于华北-北京四机房,家里的电脑无法通过 ssh 连接,但办公室的电脑可以通过 ssh 连接,手机使用数据流量也可以连接,但手机使用家里的 wifi 无法连接,所以问题应该可以归结于家庭网络的路由。重启电脑和路由器后问题依然存在。使用 tracert 命令追踪传输路径,如图:tracert 结果。麻烦彦祖们帮助下🙏。
请喝星巴克,聊表谢意🙏🙏🙏。
抱歉🙏,忘记贴出报错了。通过windows的cmd命令行运行 [ssh username@ip
] ,得到如下报错: [kex_exchange_identification: read: Connection reset
] 。此外,云服务器已被我重装系统,但问题依然如故。
抓包结果如图:https://tutu.to/ttt_ru0jlv.png。请大佬们帮忙看看🙏🙏🙏。
1
1462326016 2023-07-07 00:16:25 +08:00
这种问题还是贴一下错误提示吧,无法连接的情况不太好判别。看样子 ping 可以通,但是端口不通?
还有初步看有没有可能服务器开了防火墙,屏蔽了家里的 ip 段或者开了白名单? |
2
oswinw 2023-07-07 00:19:42 +08:00 via Android
看看服务器安全组策略
|
3
dode 2023-07-07 00:22:52 +08:00 via Android
家里有没有公网 IP ,试试服务器连回家里
|
4
ysc3839 2023-07-07 00:55:29 +08:00
路由器能抓包的话抓包看看是否发出去了,发出去了的话再去服务器上抓包,看看有没有收到。
|
5
turtlekey OP @1462326016 感谢回复。错误提示已贴出,可以 ping 通,端口没问题,服务器已被重装系统,服务器那边应该没问题的。
|
6
RoccoShi 2023-07-07 01:16:26 +08:00 via Android
换个 ssh 端口试试。
|
11
yinmin 2023-07-07 01:44:18 +08:00 via iPhone
有没有可能家里的宽带运营商把所有远程服务器的 22 端口都禁了? 你用指令“ nc -vz [ip 地址] 22 ”测试一下不同的 ip 服务器的 tcp 22 是否能通。
|
12
LucasChang 2023-07-07 01:47:58 +08:00
按这个顺序先排查一下:
1. 家里的网络能否 ssh 连接其他机器? 2. 贴一份服务器端在尝试 ssh 连接期间的 tcpdump 抓包结果,本地 Windows 也抓一份最好 3. 检查一下家里路由器的防火墙配置,如果有的话 |
13
Weixiao0725 2023-07-07 02:14:01 +08:00
应该是你本地防火墙的原因。
可以参考 https://stackoverflow.com/questions/69394001/how-can-i-fix-kex-exchange-identification-read-connection-reset-by-peer 里面有个回答描述的跟你遇到的情况一样,他最后通过设置 dns 服务器解决的,你可以尝试一下: Issue resolved (but full reason unclear). I followed the instructions to change my DNS server here to 8.8.8.8 and 8.8.4.4. |
14
hawhaw 2023-07-07 07:18:47 +08:00 via Android
ssh -v 看看具体报错信息,一个 v 不够就多加几个。如果报错信息没有太多有用,那么多半是碰到防火墙了,不是 ssh 服务端的问题
|
15
hawhaw 2023-07-07 07:19:46 +08:00 via Android
我觉得你这个有一半的概率可能是 ssh 服务端的问题(跟你的 ssh 客户端版本的兼容问题)
|
16
turtlekey OP @yinmin 命令返回:Connection to ***.*.**.*** 22 port [tcp/ssh] succeeded!。
|
17
monzuguan 2023-07-07 08:27:14 +08:00 via Android
我遇到过,垃圾移动宽带的原因,我用 VPN (国内节点)后正常。也许可以向运营商报故障。
|
18
docxs 2023-07-07 08:32:50 +08:00 via iPhone
试试 ssh-keygen -R 你要登录的地址, 然后再 ssh 登录
|
19
docxs 2023-07-07 08:35:44 +08:00 via iPhone
还不行的话,看看公网 ip ,手动加到云服务器的白名单 ip 里
|
20
x1596357 2023-07-07 08:36:48 +08:00 via iPhone
有可能是家里网络最大传输单元 MTU 的问题,尝试用一个更小的值
|
21
x1596357 2023-07-07 08:37:43 +08:00 via iPhone
比如用 1400 测试一下
|
22
vvv7000 2023-07-07 08:37:46 +08:00
改一下 sshd_config Connection to ***.*.**.*** 22 port [tcp/ssh] succeeded!。说明到端口的连接是没问题的,可能是 ssh-server 配置不允许使用这种方式登录
|
23
datocp 2023-07-07 08:40:17 +08:00
|
24
turtlekey OP @monzuguan 我也怀疑是这个原因,因为前段时间我的宽带由电信换成了移动,昨天应该是换宽带运营商后的首次 ssh 登陆。
|
25
ik 2023-07-07 09:09:21 +08:00 via iPhone
起一个 web ,能访问吗?
|
26
docxs 2023-07-07 09:11:20 +08:00 via iPhone
在 /etc/hosts.allow 中添加 sshd: ALL ,然后重启 ssh ,service sshd restart ,这样也可以试试
|
27
zer0fire 2023-07-07 09:14:07 +08:00
把 ```C:\Users\Administrator\.ssh``` 目录删了试试
|
28
1462326016 2023-07-07 09:26:52 +08:00
@turtlekey #5 看样子应该是运营商的问题了,本地抓个包看看吧,看看为啥连接被 reset 了,端口也没问题,是连接被 kill 了
|
29
oneisall8955 2023-07-07 09:48:58 +08:00 via Android
家里电脑 telnet 端口没问题
手机数据网络能连上,但家里 wifi 环境下不能连? |
30
Aitisikuoliv1d 2023-07-07 10:05:00 +08:00
.ssh 目录的 config 文件参考修改下,如果有代理可以修改代理端口:
Host github.com ProxyCommand connect -S 127.0.0.1:1081 -a none %h %p Hostname ssh.github.com Port 443 User git |
31
Aitisikuoliv1d 2023-07-07 10:06:20 +08:00
@Aitisikuoliv1d 这种一般是客户端的配置问题 服务端没毛病
|
35
snBDX1b0jJM4ogKd 2023-07-07 10:17:30 +08:00 via Android
客户端和服务端同时抓包,看看 reset 报文是从服务端出现还是运营商插入的
|
36
ibitor 2023-07-07 10:18:33 +08:00 via Android
@LucasChang 赞同,op 可以按照这个排查一遍
|
37
sickoo 2023-07-07 10:26:42 +08:00
移动大内网,应该是墙中墙害了你,都是内地的话,提供一个方法,机器装个 Tailscale ,用 Tailscale 连入,我就是这样解决的
1. 先 gen 个 key ,https://tailscale.com/kb/1085/auth-keys/ 2. `docker run -d --name=tailscaled -v /var/lib:/var/lib -v /dev/net/tun:/dev/net/tun --network=host --cap-add=NET_ADMIN --cap-add=NET_RAW --env TS_ACCEPT_DNS=false --env TS_AUTHKEY=your_AUTHKEY tailscale/tailscale` |
38
icepie 2023-07-07 10:43:07 +08:00
我在家的时候, 用的广电就无法连 22 端口的 ssh 服务器.....换个端口试试看? 或者走一层跳板
|
39
ChenSino 2023-07-13 14:13:43 +08:00
啊哈,这个问题我遇到过,直接提工单,他们会解决的,服务商的网络策略
|
40
sandals 2023-09-13 22:30:04 +08:00
你好楼主,我也遇到了相同的问题, 可以指教下如何解决的吗
|