Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
pei1025
V2EX  ›  Linux

ssh 公网 IP 连不上服务器

  •  
  •   pei1025 · Mar 24, 2024 · 4419 views
    This topic created in 956 days ago, the information mentioned may be changed or developed.
    1.有公网 IP ,并且用了 curl ifconfig.me 检测了。
    2.sudo ufw status 看到防火墙规则 22 Allow Anywhere ,并且 sshd.conf 里 port 是 22;
    3.局域网内 ssh 能正常连接,就是公网 IP 连不上,报错:Permission denied
    求解,是不是还有哪里做了限制?
    27 replies  •  2024-03-25 17:49:01 +08:00
    Chipmunker
    Chipmunker
    Mar 24, 2024
    1
    进调试模式看看啊,在 ssh 连接时加参数“-vvv”。
    pei1025
    pei1025
    OP
    Mar 24, 2024
    2
    @Chipmunker 大概就是建立连接,然后到我 C 盘找私钥但是没有:.ssh/id_rsa: No such file or directory
    ;最后使用密码登录,然后报错 Permission denied.密码肯定没错的,局域网能正常连。
    cnbatch
    cnbatch
    Mar 24, 2024❤️1
    3
    在服务器那边用命令 journalctl -u ssh 看看对应时段的报错是什么,这样应该更容易排查
    hqt1021
    hqt1021
    Mar 24, 2024 via Android
    4
    Permission denied 是验证失败
    可以看看/etc/ssh/sshd_config 是否设置了什么东西
    cnt2ex
    cnt2ex
    Mar 24, 2024
    5
    局域网能正常连的那台机器和你从公网连的机器是同一台吗?

    不是同一台的话估计是你没开密码认证,只开了公钥认证,而局域网的机器有公钥,公网机器没公钥。
    kitin
    kitin
    Mar 24, 2024 via Android
    6
    你是用自己的公网连公网?
    kitin
    kitin
    Mar 24, 2024 via Android
    7
    @kitin 同一公网下连接的吗?
    pei1025
    pei1025
    OP
    Mar 24, 2024 via Android
    8
    @cnt2ex sshd 里设置了 PasswordAuth yes ;用内网穿透工具后能连上,公网 IP 不行。telnet 公网 IP 22 又能连通,好奇怪。
    pei1025
    pei1025
    OP
    Mar 24, 2024 via Android
    9
    @kitin 家里连公司
    ik
    ik
    Mar 24, 2024 via iPhone
    10
    @pei1025 确定内网穿透和公网直连是同一台? 简单判断方法 看看指纹是否一致,看~/.ssh/know_hosts 文件,对应两行字断
    alect
    alect
    Mar 24, 2024
    11
    @pei1025 你这是想从家里访问公司局域网内部的一台服务器?然后这台服务器从公司局域网是正常访问的?
    请问你公司路由器有无做端口映射局域网对应 ip 的端口?请问贵公司允许这么操作么?有无安全隐患?
    niubee1
    niubee1
    Mar 24, 2024
    12
    你用 curl ifconfig.me 检测到的只是你从机器出去的 IP ,你需要 ifconfig 检查一下你每个网卡绑定的 IP 是多少,如果公网 IP 不是绑定到你的某个网卡上的话,能不能从外边进来就不是你这台机器能就决定的了。curl ifconfig.me 可能只是你的出口路由器拿到的公网 IP 而已
    shiyuu
    shiyuu
    Mar 24, 2024
    13
    可以试试换一个 ssh 终端,比如有的系统版本就是要用 xshell 才能连
    sparkssssssss
    sparkssssssss
    Mar 24, 2024
    14
    简单的网络环境说明下呢?
    以下是猜想
    听到局域网,那假设你是家庭使用,恰好路由器开了 ssh 服务,路由器拨号,你目前的这个 linux 机器是一台局域网的机器,本身应该是没有公网 ip 的,通过公网访问到了你的路由器
    sparkssssssss
    sparkssssssss
    Mar 24, 2024
    15
    @coolloves
    有公网 IP ,并且用了 curl ifconfig.me 检测了。
    这里顶多能说明你有外网访问,并无法说明你有公网 ip.
    pei1025
    pei1025
    OP
    Mar 24, 2024 via Android
    16
    @alect 想了一下,确实外网 ssh 密码太容易爆破了。还是算了
    pei1025
    pei1025
    OP
    Mar 24, 2024 via Android
    17
    @coolloves 公网 IP/可以访问到部署的项目
    ihainan
    ihainan
    Mar 24, 2024
    18
    试试换个端口,我之前是光猫开启 DMZ ,访问主路由 22 不行,翻日志翻防火墙设置都找不到线索,最后换个 10000+ 的端口就可以了。
    vsomeone
    vsomeone
    Mar 24, 2024 via iPhone
    19
    你如果挂了梯子,看看你的机场是不是关了 22 端口
    SenLief
    SenLief
    Mar 24, 2024
    20
    你的 ssh ip 有没有过梯子?如果有你把梯子关了试试。
    julyclyde
    julyclyde
    Mar 24, 2024
    21
    permission denied 显然是已经连上了啊
    要不然这句话谁发给你的
    skiy
    skiy
    Mar 24, 2024
    22
    同一台电脑吗?是不是密钥不对?公网的 IP ,连到路由上去了吧?
    sparkssssssss
    sparkssssssss
    Mar 24, 2024
    23
    @pei1025 这个也不一定说明你的机器有公网 ip 啊,如果是网络方面针对做了端口映射呢?所以,最好发出来你的网络环境在讨论吧
    jalena
    jalena
    Mar 24, 2024
    24
    你能确定你公网转发进去的就是你的那个主机?
    dbit
    dbit
    Mar 25, 2024 via iPhone
    25
    换个端口试试 运营商可能不许使用 80 443 22
    jiny2048
    jiny2048
    Mar 25, 2024
    26
    1. 公网连接 ssh 的方式是什么?
    2. 服务器 ssh 允许连接的方式是什么?
    kratosmy
    kratosmy
    Mar 25, 2024
    27
    被自己的 fail2ban 拦截了?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4559 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 05:45 · PVG 13:45 · LAX 21:45 · JFK 00:45
    ♥ Do have faith in what you're doing.