查找外部 IP 并用于访问 ssh 服务器

查找外部 IP 并用于访问 ssh 服务器

我想将一些大文件从我的 lubuntu 笔记本电脑 scp 到 Windows 桌面。但是,使用 ip -a 命令检索到的 ip 地址仅允许我从笔记本电脑连接到其自身。路由器或调制解调器是 Technicolor tg558v,提供商是 Carrytel(可能是 Bell 经销商)。可能是动态 ip。

我知道的解决方法。我知道我可以买一个便携式驱动器,但更喜欢免费的解决方案。我知道的备用方案是 Google Drive,它可以很好地传输较小的文件(低于 15G)或文件块,但希望 scp 或 rsync 可以更快/更方便。型号/路由器是 Technicolor,两者都有 wifi,尽管比有线连接慢。

答案1

你的路由器在您本地网络 (LAN) 上的所有设备之间共享您的公共互联网 IP 地址。

这是一个例子。

我的笔记本电脑的(本地)LAN 地址可以通过多种方式提供:它是 192.168.1.6

$ ip addr | grep inet
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
    inet 192.168.1.6/24 brd 192.168.1.255 scope global dynamic noprefixroute enp3s0
    inet6 2603:6000:a540:1678:7d12:5d46:507e:9f79/64 scope global temporary dynamic 


$ hostname -I
192.168.1.6 2603:6000:a540:1678:7d12:5d46:507e:9f79 2603:6000:a540:1678:dd8:8ed5:30bb:81a0 

我的公共互联网地址可以从路由器(需要登录)、Google(“我的 IP 地址是什么?”)或任何数量的互联网服务中查询:我们假装它是 123.45.67.89

$ wget -qO- ifconfig.co
123.45.67.89

来自互联网的入站连接会转到路由器。路由器决定 LAN 上的哪台机器会接收数据包。这就是它被称为路由器的原因:它路由数据包网络之间。

您必须在路由器上(而不是在 Ubuntu 系统上)创建端口转发规则,以告诉路由器如何处理入站 ssh 连接。您的路由器没有心灵感应 - 它需要被告知将入站 ssh 连接转发到 192.168.1.6。

之后就简单了:

如果我想通过 SSH 连接到我的笔记本电脑来自同一局域网上的另一台机器ssh 192.168.1.6

如果我想通过 SSH 连接到我的笔记本电脑来自互联网上的任何其他地方ssh 123.45.67.89。路由器会自动将连接转发到192.168.1.6。

相关内容