无法通过 SSH 连接到家用计算机 [关闭]
Posted
技术标签:
【中文标题】无法通过 SSH 连接到家用计算机 [关闭]【英文标题】:Can't SSH into a home computer [closed] 【发布时间】:2019-05-16 06:56:32 【问题描述】:我正在尝试从我的 MacOSX 计算机通过 SSH 连接到 Ubuntu 计算机。我在我的 Ubuntu 上安装了 openssh 并禁用了防火墙。我之前在这台 Macbook 上 ssh-ed 到其他服务器。我没有得到 Ubuntu 服务器的响应:
$ ssh -v <domain_name>
OpenSSH_7.8p1, LibreSSL 2.7.3
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: Connecting to <domain_name> port 22.
ssh: connect to host <domain_name> port 22: Operation timed out
我已经尝试过 ping 域名,可以。我在 Ubuntu 计算机上运行了“ssh localhost”,它运行良好。我还检查了端口 22 正在侦听并且是 ssh,它是。我尝试使用'ssh username@domain_name'。一样的回应。有什么想法吗?
【问题讨论】:
你家的电脑是在domain_name下的子网里面还是直接是domain_name? 我不知道如何检查...这是一台普通的 ubuntu 电脑,有一个用户帐户(用户名和密码)。 在你的 Ubuntu 电脑上,$ ifconfig
并检查是否有显示为 inet4 / inet6 地址的 IP 与 domain_name 的 IP(无子网)相同,或者 IP 为 192.168.* (有子网,需要端口转发)。
首先,找出 Ubuntu 的 IP 地址。输入 ifconfig 并从终端获取 IP,然后转到 Mac 并尝试 ping Ubuntu 的 IP 地址。
@Hackerman 在 windows psping 和 Mac 上,nmap 是检查您是否可以从您的机器访问端口 22 的好选择。
【参考方案1】:
正如提问者的评论所指出的,目标计算机的 IP 是子网 IP,这表明该目标位于某些设备之后,例如路由器或等效设备。
然后,ping
从出路由器到域名的ping
将指向该路由器,但您可能不知道这一点。
要解决这个问题,只需在路由器上配置一个端口转发,“当收到来自<outer port>
的数据时,转发它到<inner ip>:<inner port>
”,那么ssh请求就会被转发到预期目的地。
【讨论】:
以上是关于无法通过 SSH 连接到家用计算机 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章