ssh 公网 IP 连不上服务器

277 天前
 pei1025
1.有公网 IP ,并且用了 curl ifconfig.me 检测了。
2.sudo ufw status 看到防火墙规则 22 Allow Anywhere ,并且 sshd.conf 里 port 是 22;
3.局域网内 ssh 能正常连接,就是公网 IP 连不上,报错:Permission denied
求解,是不是还有哪里做了限制?
2485 次点击
所在节点    Linux
27 条回复
Chipmunker
277 天前
进调试模式看看啊,在 ssh 连接时加参数“-vvv”。
pei1025
277 天前
@Chipmunker 大概就是建立连接,然后到我 C 盘找私钥但是没有:.ssh/id_rsa: No such file or directory
;最后使用密码登录,然后报错 Permission denied.密码肯定没错的,局域网能正常连。
cnbatch
277 天前
在服务器那边用命令 journalctl -u ssh 看看对应时段的报错是什么,这样应该更容易排查
hqt1021
277 天前
Permission denied 是验证失败
可以看看/etc/ssh/sshd_config 是否设置了什么东西
cnt2ex
277 天前
局域网能正常连的那台机器和你从公网连的机器是同一台吗?

不是同一台的话估计是你没开密码认证,只开了公钥认证,而局域网的机器有公钥,公网机器没公钥。
kitin
277 天前
你是用自己的公网连公网?
kitin
277 天前
@kitin 同一公网下连接的吗?
pei1025
277 天前
@cnt2ex sshd 里设置了 PasswordAuth yes ;用内网穿透工具后能连上,公网 IP 不行。telnet 公网 IP 22 又能连通,好奇怪。
pei1025
277 天前
@kitin 家里连公司
ik
277 天前
@pei1025 确定内网穿透和公网直连是同一台? 简单判断方法 看看指纹是否一致,看~/.ssh/know_hosts 文件,对应两行字断
alect
277 天前
@pei1025 你这是想从家里访问公司局域网内部的一台服务器?然后这台服务器从公司局域网是正常访问的?
请问你公司路由器有无做端口映射局域网对应 ip 的端口?请问贵公司允许这么操作么?有无安全隐患?
niubee1
277 天前
你用 curl ifconfig.me 检测到的只是你从机器出去的 IP ,你需要 ifconfig 检查一下你每个网卡绑定的 IP 是多少,如果公网 IP 不是绑定到你的某个网卡上的话,能不能从外边进来就不是你这台机器能就决定的了。curl ifconfig.me 可能只是你的出口路由器拿到的公网 IP 而已
shiyuu
277 天前
可以试试换一个 ssh 终端,比如有的系统版本就是要用 xshell 才能连
coolloves
277 天前
简单的网络环境说明下呢?
以下是猜想
听到局域网,那假设你是家庭使用,恰好路由器开了 ssh 服务,路由器拨号,你目前的这个 linux 机器是一台局域网的机器,本身应该是没有公网 ip 的,通过公网访问到了你的路由器
coolloves
277 天前
@coolloves
有公网 IP ,并且用了 curl ifconfig.me 检测了。
这里顶多能说明你有外网访问,并无法说明你有公网 ip.
pei1025
277 天前
@alect 想了一下,确实外网 ssh 密码太容易爆破了。还是算了
pei1025
277 天前
@coolloves 公网 IP/可以访问到部署的项目
ihainan
277 天前
试试换个端口,我之前是光猫开启 DMZ ,访问主路由 22 不行,翻日志翻防火墙设置都找不到线索,最后换个 10000+ 的端口就可以了。
vsomeone
277 天前
你如果挂了梯子,看看你的机场是不是关了 22 端口
SenLief
277 天前
你的 ssh ip 有没有过梯子?如果有你把梯子关了试试。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1026421

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX