首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试着到海外去

试着到海外去
EN

Unix & Linux用户
提问于 2016-08-17 20:01:55
回答 3查看 2K关注 0票数 1

我将如何使用Mac上的ssh远程进入国外的计算机?我很想帮我哥哥处理他的电脑,但他现在住在英国(我敢肯定他用VPN来维持与美国流媒体服务的连接)。我已经在我的局域网上做了,但从来没有对一个远程server...much

我尝试了基本的ssh username@xx.xx.xx.xx,但我确信随机IPv4地址不能工作的原因有很多:D

我们需要配置他的侧吗?

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2016-08-18 00:02:05

如果你想用简单的方式运行sshd,你就需要他从他的计算机上移植到前向端口22,并让他运行它。

另一方面,您可以做肮脏的工作,让他通过ssh将端口转发到您的计算机。这将通过设置一个ssh守护进程( OSX 这里指令)来完成,然后通过路由器从您的主计算机设置端口转发端口22 (ssh端口)。在每个路由器和固件之间有很多很多的变化,所以我真的不能让你通过这个步骤。然而,本站似乎有一个非常大的指南数据库为不同的路由器量身定制,所以您可能会有一些运气。还要确保您为主计算机设置了一个静态私有IP地址,这样dhcp就不会给您一个新地址。如果发生这种情况,您的外部端口将被转发到一个不存在的内部主机,因此没有意义。

接下来,为您的兄弟创建一个用户。这里没什么稀奇的,只要确保它有密码,他就知道是什么了。还要确保他的计算机上运行了一个ssh守护进程。他也可能对在他的计算机上为你创建一个用户感兴趣,这样他就不需要向你公开他的密码并给你你自己的主目录。

运行ssh守护进程后,让您的兄弟使用命令ssh -R 2222:localhost:22 brother@your.public.ip.here连接到您的计算机,他应该能够连接并输入他的密码(由于安全原因,输入密码时不能在基于UNIX的OSes上显示)。一旦他连接,您的计算机在端口2222上的流量将被转发到他的计算机的端口22 ( ssh端口)。您现在应该能够用ssh -p 2222 you@localhost连接到他的计算机了。玩得开心!

作为结束语,您可能还想从DDNS站点获取主机名,我建议使用no-ip.com。这样,您就可以轻松地连接到您的路由器,这将是在something.ddns.net,或类似的东西。我喜欢无IP,因为它是免费的,如果您配置您的路由器正确使用它,它将自动更新主机名指向您的公共IP地址。

票数 2
EN

Unix & Linux用户

发布于 2016-08-18 00:38:31

不关心距离。要连接到名为somewhere.example.com的计算机,只需运行ssh somewhere.example.com即可。要连接到IP地址为192.0.2.4的计算机,只需运行ssh 192.0.2.4即可。当然,目标计算机必须运行SSH服务器。

最重要的是,你弟弟的电脑可能没有你能到达的IP地址。大多数计算机都不能直接从互联网上联系到:它们都在NAT装置后面。大多数ISP盒(称为“路由器”或“调制解调器”)也执行NAT。NAT以其基本形式为网络上的计算机提供了一个专用IP地址(即仅在该本地网络上有效的地址),并允许通过单个公共IP地址(而不是传入连接)进行传出连接。

要到达您兄弟的计算机,您需要让他配置他的NAT设备,使传入的SSH连接到达您想要访问的计算机。调制解调器/路由器的网络接口可能在某个地方有一个设置。

一个进一步的困难是,大多数家庭ISP动态分配IP地址,因此您兄弟的IP地址随时间而变化(通常每隔几天)。您应该让他设置动态DNS,使他的计算机在每次更改时都将IP地址注册到服务器上。一些ISP设备支持动态DNS,但这还远远不是通用的;如果你弟弟的设备不支持,他就必须从他的计算机上做这件事。

或者,您可以自己完成这些步骤,将您的兄弟送到您的机器上,并设置一个反向SSH隧道

票数 1
EN

Unix & Linux用户

发布于 2016-08-18 00:22:13

通过SSH登录到局域网内的计算机与登录到internet上的计算机并无太大区别。但有几件事必须考虑到。

  1. 您的局域网上的计算机很可能在“专用”网络中,它的地址空间不会在公共广域网(请看这里)上路由。我想,当您执行ifconfig时,您的接口将被配置成某种192.168.0.x10.x.x.x IP地址。是那么回事吗?
  2. 坐在这类网络中的计算机可以接入互联网。但作为回报,互联网不一定可以通过IP访问您的计算机。原因是您的LAN的is映射到一个公共的可路由入口,您甚至可能与整个邻居的设备有共同之处。这是由您的ISP (所谓的NAT)完成的。
  3. 即使您的兄弟使用VPN,他也不一定将公共IP地址分配给他的计算机,因为即使VPN提供商也可以使用NAT来保存IP地址,并将整个社区隐藏在一个或多个公共IP后面。

在这种情况下,我要做的第一件也是最简单的事情是,你和你的兄弟是否有为他们的客户分配IPv6地址的is。看看这里

这些地址有8个用冒号分隔的4位六进制块.见这里。他们的优势是:有很多可用的,这样地球上的每个网络设备至少可以有一个唯一的地址。在你的电脑上做ifconfig,让你的兄弟也做ifconfig

如果您的ISP正在提供IPv6,并且您的PC被配置为获取它们(我猜这是默认的,至少在Linux中是这样),那么您应该找到一个类似于以下形状的行:

代码语言:javascript
复制
inet6-address: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope:global

(更新:与scope:global不同,您也可以使用scopeid: 0xe)

注意,IPv6地址的符号标准允许删除具有0位数的连续块: 1234:000:0000:0000:0000:0000:000:5678 -> 1234:5678(非常有用)。

然后--在最简单的情况下--你可以简单地做:

代码语言:javascript
复制
ssh username@[ipv6-address of your brother]
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/304059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档