这是魔法吗?!连接到关闭了入站端口的AWS服务器的方法是什么?
首先
如果要通过互联网连接到AWS服务器(不仅限于AWS),需要允许访问所需应用程序等待的端口。例如,如果是Web服务器,则需要允许80端口的访问;如果想通过ssh登录,则需要允许22端口的访问。因为这些端口对互联网公开,所以有可能会被未经意的人访问(因此,通常会在源头设置限制或者要求应用程序进行身份验证)。
如果不需要开放端口,就像魔法一样能够连接,那该有多好呢?
使用remote.it
请查看@u___sk的文章,了解remote.it的服务详情。
远程.it – 互联网世界的“随时随地门”
これ以降の手順を、最新のCLIを使う手順に更新し、画面なども差し替えました。
1. まずは普通にAWSのサーバを用意する
在AWS上准备服务器

通过安全组打开端口

尝试访问Web服务器。

创建remote.it账户
在安装remote.it到ubuntu服务器之前,需要先创建一个remote.it账户。
访问remote.it的网站,并从“Get Started”开始注册一个账户。
remote.IT 可以在任何地方进行网络管理和连接设备的服务。

安装remote.it。
今回はremote.itのCLI(Command Line Interface)を使う方法を紹介します。
ubuntuサーバにsshなどで接続し、以下のコマンドを順に実行してremote.itのCLIを取得してインストールします。(ダウンロードURLはremote.itのWebサイトの「ダウンロード」から、自身のプラットフォームに適合するものを確認できます。)
$ curl -LkO https://downloads.remote.it/cli/v1.7.48/remoteit_linux_x86_64
$ sudo cp ./remoteit_linux_x86_64 /usr/bin/remoteit
$ sudo chmod +x /usr/bin/remoteit
接下来,使用以下命令安装系统服务和相关二进制文件。
$ sudo remoteit agent install
✓ Agent installed and started successfully
$ sudo remoteit tools install
✓ Installing tools
✓ Tools installed to: '/usr/bin'
4.ubuntuサーバをremote.itのデバイスとして登録する
使用remote.it来连接,我要注册与Ubuntu服务器连接的服务(应用程序)。
首先,使用登录命令登录到remote.it账户。
$ sudo remtoeit signin
次に、以下のコマンドでremote.itを使って接続するターゲットとして登録します。
このubuntuサーバをremote.itに登録するための名前の入力を求められますので、任意の名前を入力します。
$ sudo remoteit register
Device name: demo-ubuntu20
✓ REGISTER in progress ...
✓ NEXT-ACTION: run 'remoteit add' to add services to this device
然后,使用以下命令注册连接服务(应用程序)。
$ sudo remoteit add
将显示一个可通过对话形式进行注册的应用程序列表。
选择7来注册Web服务。(如果选择1,则可以注册任何TCP应用程序。)
Service Type is not specified or invalid. This is a list of valid service types
ID | Name | Default Port | Protocol | Description
-------------------------------------------------------------------------------------------
32770 | WireGuard | 51820 | UDP | WireGuard VPN server
32771 | Minecraft Bedrock | 19132 | UDP | Minecraft Bedrock server
5 | RDP | 3389 | TCP | Microsoft remote desktop
8 | HTTPS | 443 | TCP | Secure web protocol
37 | NxWitness | 7001 | TCP | Nx Witness VMS
43 | Terraria | 7777 | TCP | Terraria server
38 | Nextcloud | 443 | TCP | Nextcloud hub
32769 | UDP | 0 | UDP | Generic UDP
1 | TCP | 0 | TCP | Generic TCP
7 | HTTP | 80 | TCP | Web protocol
28 | SSH | 22 | TCP | Secure shell terminal
34 | SMB/CIFS | 445 | TCP | Internet file sharing
41 | Minecraft | 25565 | TCP | Minecraft server
42 | Admin Panel | 29999 | TCP | remote.it admin panel
4 | VNC | 5900 | TCP | VNC remote desktop
39 | OpenVPN | 1194 | TCP | OpenVPN server
Enter Service Type ('ID' or 'Name', not case sensitive, default is 'ssh'): 7
请您输入目标连接的端口号,如果您已经更改了端口号,请输入更改后的数字。一般情况下,请输入80。
Enter Port (default is '80'): 80
今度はサービス(アプリケーション)に対して登録する名前を入力します。
アプリケーションかプロトコルが分かるようにするのがお勧めです。ここでは http としました。
Enter Service Name (default is 'MyService'): http
✓ ADD in progress ...
✓ NEXT-ACTION: run 'remoteit add' to add more services
登録が完了しました。以下のコマンドを実行して、登録状態を確認します。
$ sudo remoteit status
在「服务:」中,可以确认http已连接。
$ sudo remoteit status
✓ Fetching status
Username: your@mail.address
Device:
UID | Name | Type | Status | Address
------------------------------------------------------------------------------------------------------------------------------
80:00:00:00:01:1B:87:94 | | device | connected | 127.0.0.1:65535
Services:
UID | Name | Type | Status | Address | Enabled
-----------------------------------------------------------------------------------------------------------------------------------------
80:00:00:00:01:1B:87:A2 | http | HTTP (7) | connected | 127.0.0.1 | true
Connections:
続けて、同じ手順を繰り返して、ssh用のサービス(22番ポート)も登録してみました。SSH も connected になっていることが分かります。
$ sudo remoteit status
✓ Fetching status
Username: your@mail.address
Device:
UID | Name | Type | Status | Address
------------------------------------------------------------------------------------------------------------------------------
80:00:00:00:01:1B:87:94 | | device | connected | 127.0.0.1:65535
Services:
UID | Name | Type | Status | Address | Enabled
-----------------------------------------------------------------------------------------------------------------------------------------
80:00:00:00:01:1B:87:A2 | http | HTTP (7) | connected | 127.0.0.1 | true
80:00:00:00:01:1B:87:AB | ssh | SSH (28) | connected | 127.0.0.1:22 | true
Connections:
这样准备工作就完成了。
使用remote.it进行连接
在安全组中关闭所有端口。




请务必尝试对54.248.15.144进行端口扫描。
但是我们可以连接。远程以太(remote.it)就是这样。





总结
通过使用remote.it,正如您所看到的,可以创建一个非常有趣的状态,即服务器处于安全状态(或者说根本无法从互联网访问),但只有自己能够访问。
实际上,我们介绍的连接方法是通过remote.it在云端托管的代理服务器进行连接。除此之外,还提供了通过P2P(点对点)连接的方法。下次我们会介绍。
使用一次后,您就会发现它非常方便。与VPN相比,它连接更简单且更安全,所以请务必尝试一下!
2019年8月20日 追加記事を書きました。
连接到完全关闭入站端口的AWS服务器的方法 – P2P 版