我将如何使用Mac上的ssh远程进入国外的计算机?我很想帮我哥哥处理他的电脑,但他现在住在英国(我敢肯定他用VPN来维持与美国流媒体服务的连接)。我已经在我的局域网上做了,但从来没有对一个远程server...much
我尝试了基本的ssh username@xx.xx.xx.xx,但我确信随机IPv4地址不能工作的原因有很多:D
我们需要配置他的侧吗?
发布于 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地址。
发布于 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隧道。
发布于 2016-08-18 00:22:13
通过SSH登录到局域网内的计算机与登录到internet上的计算机并无太大区别。但有几件事必须考虑到。
ifconfig时,您的接口将被配置成某种192.168.0.x或10.x.x.x IP地址。是那么回事吗?在这种情况下,我要做的第一件也是最简单的事情是,你和你的兄弟是否有为他们的客户分配IPv6地址的is。看看这里。
这些地址有8个用冒号分隔的4位六进制块.见这里。他们的优势是:有很多可用的,这样地球上的每个网络设备至少可以有一个唯一的地址。在你的电脑上做ifconfig,让你的兄弟也做ifconfig。
如果您的ISP正在提供IPv6,并且您的PC被配置为获取它们(我猜这是默认的,至少在Linux中是这样),那么您应该找到一个类似于以下形状的行:
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(非常有用)。
然后--在最简单的情况下--你可以简单地做:
ssh username@[ipv6-address of your brother]https://unix.stackexchange.com/questions/304059
复制相似问题