请教一个 ssh 连接问题(有偿一杯星巴克) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
turtlekey
V2EX    问与答

请教一个 ssh 连接问题(有偿一杯星巴克)

  •  
  •   turtlekey 2023-07-07 00:10:44 +08:00 2726 次点击
    这是一个创建于 829 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题概述

    手上有一台华为弹性云服务器,位于华北-北京四机房,家里的电脑无法通过 ssh 连接,但办公室的电脑可以通过 ssh 连接,手机使用数据流量也可以连接,但手机使用家里的 wifi 无法连接,所以问题应该可以归结于家庭网络的路由。重启电脑和路由器后问题依然存在。使用 tracert 命令追踪传输路径,如图:tracert 结果。麻烦彦祖们帮助下。

    请喝星巴克,聊表谢意。

    第 1 条附言    2023-07-07 01:12:11 +08:00

    抱歉,忘记贴出报错了。通过windows的cmd命令行运行 [ssh username@ip] ,得到如下报错: [kex_exchange_identification: read: Connection reset] 。此外,云服务器已被我重装系统,但问题依然如故。

    第 2 条附言    2023-07-08 10:07:18 +08:00

    抓包结果如图:https://tutu.to/ttt_ru0jlv.png。请大佬们帮忙看看。

    41 条回复    2025-05-08 15:51:05 +08:00
    1462326016
        1
    1462326016  
       2023-07-07 00:16:25 +08:00
    这种问题还是贴一下错误提示吧,无法连接的情况不太好判别。看样子 ping 可以通,但是端口不通?
    还有初步看有没有可能服务器开了防火墙,屏蔽了家里的 ip 段或者开了白名单?
    oswinw
        2
    oswinw  
       2023-07-07 00:19:42 +08:00 via Android
    看看服务器安全组策略
    dode
        3
    dode  
       2023-07-07 00:22:52 +08:00 via Android
    家里有没有公网 IP ,试试服务器连回家里
    ysc3839
        4
    ysc3839  
       2023-07-07 00:55:29 +08:00
    路由器能抓包的话抓包看看是否发出去了,发出去了的话再去服务器上抓包,看看有没有收到。
    turtlekey
        5
    turtlekey  
    OP
       2023-07-07 01:15:38 +08:00
    @1462326016 感谢回复。错误提示已贴出,可以 ping 通,端口没问题,服务器已被重装系统,服务器那边应该没问题的。
    RoccoShi
        6/div>
    RoccoShi  
       2023-07-07 01:16:26 +08:00 via Android
    换个 ssh 端口试试。
    turtlekey
        7
    turtlekey  
    OP
       2023-07-07 01:16:26 +08:00
    @dode 家里没有公网 IP 。
    turtlekey
        8
    turtlekey  
    OP
       2023-07-07 01:17:18 +08:00
    @oswinw 安全组策略没问题。
    turtlekey
        9
    turtlekey  
    OP
       2023-07-07 01:17:49 +08:00
    @ysc3839 能 ping 通。
    ysc3839
        10
    ysc3839  
       2023-07-07 01:28:46 +08:00
    @turtlekey ping 不是 TCP 连接
    yinmin
        11
    yinmin  
       2023-07-07 01:44:18 +08:00 via iPhone
    有没有可能家里的宽带运营商把所有远程服务器的 22 端口都禁了? 你用指令“ nc -vz [ip 地址] 22 ”测试一下不同的 ip 服务器的 tcp 22 是否能通。
    LucasChang
        12
    LucasChang  
       2023-07-07 01:47:58 +08:00
    按这个顺序先排查一下:
    1. 家里的网络能否 ssh 连接其他机器?
    2. 贴一份服务器端在尝试 ssh 连接期间的 tcpdump 抓包结果,本地 Windows 也抓一份最好
    3. 检查一下家里路由器的防火墙配置,如果有的话
    Weixiao0725
        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.
    hawhaw
        14
    hawhaw  
       2023-07-07 07:18:47 +08:00 via Android
    ssh -v 看看具体报错信息,一个 v 不够就多加几个。如果报错信息没有太多有用,那么多半是碰到防火墙了,不是 ssh 服务端的问题
    hawhaw
        15
    hawhaw  
       2023-07-07 07:19:46 +08:00 via Android
    我觉得你这个有一半的概率可能是 ssh 服务端的问题(跟你的 ssh 客户端版本的兼容问题)
    turtlekey
        16
    turtlekey  
    OP
       2023-07-07 08:00:07 +08:00
    @yinmin 命令返回:Connection to ***.*.**.*** 22 port [tcp/ssh] succeeded!。
    monzuguan
        17
    monzuguan  
       2023-07-07 08:27:14 +08:00 via Android
    我遇到过,垃圾移动宽带的原因,我用 VPN (国内节点)后正常。也许可以向运营商报故障。
    docxs
        18
    docxs  
       2023-07-07 08:32:50 +08:00 via iPhone
    试试 ssh-keygen -R 你要登录的地址, 然后再 ssh 登录
    docxs
        19
    docxs  
       2023-07-07 08:35:44 +08:00 via iPhone
    还不行的话,看看公网 ip ,手动加到云服务器的白名单 ip 里
    x1596357
        20
    x1596357  
       2023-07-07 08:36:48 +08:00 via iPhone
    有可能是家里网络最大传输单元 MTU 的问题,尝试用一个更小的值
    x1596357
        21
    x1596357  
       2023-07-07 08:37:43 +08:00 via iPhone
    比如用 1400 测试一下
    vvv7000
        22
    vvv7000  
       2023-07-07 08:37:46 +08:00
    改一下 sshd_config Connection to ***.*.**.*** 22 port [tcp/ssh] succeeded!。说明到端口的连接是没问题的,可能是 ssh-server 配置不允许使用这种方式登录
    datocp
        23
    datocp  
       2023-07-07 08:40:17 +08:00
    turtlekey
        24
    turtlekey  
    OP
       2023-07-07 09:07:52 +08:00
    @monzuguan 我也怀疑是这个原因,因为前段时间我的宽带由电信换成了移动,昨天应该是换宽带运营商后的首次 ssh 登陆。
    ik
        25
    ik  
       2023-07-07 09:09:21 +08:00 via iPhone
    起一个 web ,能访问吗?
    docxs
        26
    docxs  
       2023-07-07 09:11:20 +08:00 via iPhone
    在 /etc/hosts.allow 中添加 sshd: ALL ,然后重启 ssh ,service sshd restart ,这样也可以试试
    zer0fire
        27
    zer0fire  
       2023-07-07 09:14:07 +08:00
    把 ```C:\Users\Administrator\.ssh``` 目录删了试试
    1462326016
        28
    1462326016  
       2023-07-07 09:26:52 +08:00
    @turtlekey #5 看样子应该是运营商的问题了,本地抓个包看看吧,看看为啥连接被 reset 了,端口也没问题,是连接被 kill 了
    itechify
        29
    itechify  
    PRO
       2023-07-07 09:48:58 +08:00 via Android
    家里电脑 telnet 端口没问题

    手机数据网络能连上,但家里 wifi 环境下不能连?
    Aitisikuoliv1d
        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
    Aitisikuoliv1d
        31
    Aitisikuoliv1d  
       2023-07-07 10:06:20 +08:00
    @Aitisikuoliv1d 这种一般是客户端的配置问题 服务端没毛病
    turtlekey
        32
    turtlekey  
    OP
       2023-07-07 10:09:50 +08:00
    @ik 服务器上有个网页应用,能正常访问。
    turtlekey
        33
    turtlekey  
    OP
       2023-07-07 10:10:24 +08:00
    @docxs 已经尝试过这种方法,无效。
    turtlekey
        34
    turtlekey  
    OP
       2023-07-07 10:11:18 +08:00
    @zer0fire 无效。
    snBDX1b0jJM4ogKd
        35
    snBDX1b0jJM4ogKd  
       2023-07-07 10:17:30 +08:00 via Android
    客户端和服务端同时抓包,看看 reset 报文是从服务端出现还是运营商插入的
    ibitor
        36
    ibitor  
       2023-07-07 10:18:33 +08:00 via Android
    @LucasChang 赞同,op 可以按照这个排查一遍
    sickoo
        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`
    icepie
        38
    icepie  
       2023-07-07 10:43:07 +08:00
    我在家的时候, 用的广电就无法连 22 端口的 ssh 服务器.....换个端口试试看? 或者走一层跳板
    ChenSino
        39
    ChenSino  
       2023-07-13 14:13:43 +08:00
    啊哈,这个问题我遇到过,直接提工单,他们会解决的,服务商的网络策略
    sandals
        40
    sandals  
       2023-09-13 22:30:04 +08:00
    你好楼主,我也遇到了相同的问题, 可以指教下如何解决的吗
    levine
        41
    levine  
       157 天前
    @icepie 啊。你也是啊?我换了广东广电,也是直接连不上 22 端口的 ssh ,服了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1049 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 18:03 PVG 02:03 LAX 11:03 JFK 14:03
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86