加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

怎样通过反向SSH会见NAT后头的Linux处事器

发布时间:2018-07-04 20:01:41 所属栏目:教程 来源:佚名
导读:【资讯】你在家里运行着一台 Linux 处事器,它放在一个 NAT 路由器可能限定性防火墙后头。此刻你想在外出时用 SSH 登录到这台处事器。你怎样才气做到呢?SSH 端口转发虽然是一种选择。可是,假如你必要处理赏罚多级嵌套的 NAT 情形,端口转发也许会变得很是棘手
副问题[/!--empirenews.page--]

  【资讯】你在家里运行着一台 Linux 处事器,它放在一个 NAT 路由器可能限定性防火墙后头。此刻你想在外出时用 SSH 登录到这台处事器。你怎样才气做到呢?SSH 端口转发虽然是一种选择。可是,假如你必要处理赏罚多级嵌套的 NAT 情形,端口转发也许会变得很是棘手。其它,在多种 ISP 特定前提下也许会受到滋扰,譬喻阻塞转发端口的限定性 ISP 防火墙、可能在用户间共享 IPv4 地点的运营商级 NAT。

  怎样通过反向SSH会见NAT后头的Linux处事器

  什么是反向 SSH 地道?

  SSH 端口转发的一种更换方案是 反向 SSH 地道。反向 SSH 地道的观念很是简朴。行使这种方案,在你的受限的家庭收集之外你必要另一台主机(所谓的“中继主机”),你能从当前地址地通过 SSH 登录到它。你可以用有公网 IP 地点的 VPS 实例 设置一此中继主机。然后要做的就是从你的家庭收集处事器中成立一个到公网中继主机的永世 SSH 地道。有了这个地道,你就可以从中继主机中毗连“回”家庭处事器(这就是为什么称之为 “反向” 地道)。不管你在那边、你的家庭收集中的 NAT 或 防火墙限定何等严酷,只要你可以会见中继主机,你就可以毗连抵家庭处事器。

  怎样通过反向SSH会见NAT后头的Linux处事器

  在 Linux 上配置反向 SSH 地道

  让我们来看看奈何建设和行使反向 SSH 地道。我们做如下假设:我们会配置一个从家庭处事器(homeserver)到中继处事器(relayserver)的反向 SSH 地道,然后我们可以通过中继处事器从客户端计较机(clientcomputer) SSH 登录抵家庭处事器。本例中的中继处事器 的公网 IP 地点是 1.1.1.1。

  在家庭处事器上,凭证以下方法打开一个到中继处事器的 SSH 毗连。

  homeserver~$ ssh -fN -R 10022:localhost:22 relayserver_user@1.1.1.1

  这里端口 10022 是任何你可以行使的端口数字。只必要确保中继处事器上不会有其余措施行使这个端口。

  “-R 10022:localhost:22” 选项界说了一个反向地道。它转发中继处事器 10022 端口的流量抵家庭处事器的 22 号端口。

  用 “-fN” 选项,当你乐成通过 SSH 处事器验证时 SSH 会进入靠山运行。当你不想在长途 SSH 处事器执行任何呼吁,就像我们的例子中只想转发端口的时辰很是有效。

  运行上面的呼吁之后,你就会回抵家庭主机的呼吁行提醒框中。

  登录到中继处事器,确认其 127.0.0.1:10022 绑定到了 sshd。假如是的话就暗示已经正确配置了反向地道。

  relayserver~$ sudo netstat -nap | grep 10022

  tcp 0 0 127.0.0.1:10022 0.0.0.0:* LISTEN 8493/sshd

  此刻就可以从任何其余计较机(客户端计较机)登录到中继处事器,然后凭证下面的要了解见家庭处事器。

  relayserver~$ ssh -p 10022 homeserver_user@localhost

  必要留意的一点是你在上面为localhost输入的 SSH 登录/暗码应该是家庭处事器的,而不是中继处事器的,由于你是通过地道的当地端点登录抵家庭处事器,因此不要错误输入中继处事器的登录/暗码。乐成登录后,你就在家庭处事器上了。

  通过反向 SSH 地道直接毗连到收集地点调动后的处事器

  上面的要领应承你会见 NAT 后头的 家庭处事器,但你必要登录两次:起首登录到 中继处事器,然后再登录抵家庭处事器。这是由于中继处事器上 SSH 地道的端点绑定到了回环地点(127.0.0.1)。

  究竟上,有一种要领可以只必要登录到中继处事器就能直接会见NAT之后的家庭处事器。要做到这点,你必要让中继处事器上的 sshd 不只转发回环地点上的端口,还要转发外部主机的端口。这通过指定中继处事器上运行的 sshd 的 GatewayPorts 实现。

  打开中继处事器的 /etc/ssh/sshd_conf 并添加下面的行。

  relayserver~$ vi /etc/ssh/sshd_conf GatewayPorts clientspecified

  重启 sshd。

  基于 Debian 的体系:

  relayserver~$ sudo /etc/init.d/ssh restart

  基于红帽的体系:

  relayserver~$ sudo systemctl restart sshd

  此刻在家庭处事器中凭证下面方法初始化一个反向 SSH 地道。

  homeserver~$ ssh -fN -R 1.1.1.1:10022:localhost:22 relayserver_user@1.1.1.1

  登录到中继处事器然后用 netstat 呼吁确认乐成成立的一个反向 SSH 地道。

  relayserver~$ sudo netstat -nap | grep 10022 tcp 0 0 1.1.1.1:10022 0.0.0.0:* LISTEN 1538/sshd: dev

  不像之前的环境,此刻地道的端点是 1.1.1.1:10022(中继处事器的公网 IP 地点),而不是 127.0.0.1:10022。这就意味着从外部主机可以会见解道的另一端。

  此刻在任何其余计较机(客户端计较机),输入以下呼吁会见收集地点调动之后的家庭处事器。

  clientcomputer~$ ssh -p 10022 homeserver_user@1.1.1.1

  在上面的呼吁中,1.1.1.1 是中继处事器的民众 IP 地点,homeserver_user必需是家庭处事器上的用户账户。这是由于你真正登录到的主机是家庭处事器,而不是中继处事器。后者只是中继你的 SSH 流量抵家庭处事器。

  在 Linux 上配置一个永世反向 SSH 地道

  此刻你已经大白了奈何建设一个反向 SSH 地道,然后把地道配置为 “永世”,这样地道启动后就会一向运行(不管姑且的收集拥塞、SSH 超时、中继主机重启,等等)。事实,假如地道不是一向有用,你就不能靠得住的登录到你的家庭处事器。

  对付永世地道,我规划行使一个叫 autossh 的器材。正如名字体现的,这个措施可以让你的 SSH 会话无论由于什么缘故起因间断城市自动重连。因此对付保持一个反向 SSH 地道很是有效。

  第一步,我们要配置从家庭处事器到中继处事器的无暗码 SSH 登录。这样的话,autossh 可以不必要用户过问就能重启一个破坏的反向 SSH 地道。

  下一步,在成立地道的家庭处事器上安装 autossh。

  在家庭处事器上,用下面的参数运行 autossh 来建设一个毗连到中继处事器的永世 SSH 地道。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读