无法通过 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将指向该路由器,但您可能不知道这一点。

要解决这个问题,只需在路由器上配置一个端口转发,“当收到来自&lt;outer port&gt;的数据时,转发它到&lt;inner ip&gt;:&lt;inner port&gt;”,那么ssh请求就会被转发到预期目的地。

【讨论】:

以上是关于无法通过 SSH 连接到家用计算机 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Linux无法远程连接Redis?

无法使用 SSH 连接到 docker 容器 [关闭]

家用的移动宽带如何使用SSH联入学校内网Linux主机

如何在新计算机上安装 SSH 密钥? [关闭]

远程桌面由于以下原因之一无法连接到远程计算机解决方法(亲测)

允许用户使用密钥对通过 SSH 连接到 EC2 Linux 实例