这是魔法吗?!连接到关闭了入站端口的AWS服务器的方法是什么?

首先

如果要通过互联网连接到AWS服务器(不仅限于AWS),需要允许访问所需应用程序等待的端口。例如,如果是Web服务器,则需要允许80端口的访问;如果想通过ssh登录,则需要允许22端口的访问。因为这些端口对互联网公开,所以有可能会被未经意的人访问(因此,通常会在源头设置限制或者要求应用程序进行身份验证)。

如果不需要开放端口,就像魔法一样能够连接,那该有多好呢?

使用remote.it

请查看@u___sk的文章,了解remote.it的服务详情。

远程.it – 互联网世界的“随时随地门”

2021.9.27 追記
これ以降の手順を、最新のCLIを使う手順に更新し、画面なども差し替えました。

1. まずは普通にAWSのサーバを用意する

在AWS上准备服务器

スクリーンショット 2021-09-27 17.14.50.png

通过安全组打开端口

スクリーンショット 2021-09-27 17.17.36.png

尝试访问Web服务器。

スクリーンショット 2021-09-27 17.27.10.png

创建remote.it账户

在安装remote.it到ubuntu服务器之前,需要先创建一个remote.it账户。
访问remote.it的网站,并从“Get Started”开始注册一个账户。

remote.IT 可以在任何地方进行网络管理和连接设备的服务。

スクリーンショット 2021-09-27 17.27.54.png

安装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进行连接

在安全组中关闭所有端口。

スクリーンショット 2021-09-27 18.29.12.png
スクリーンショット 2021-09-27 18.32.34.png
スクリーンショット 2021-09-27 18.38.24.png
スクリーンショット 2019-07-25 19.17.41.png

请务必尝试对54.248.15.144进行端口扫描。

但是我们可以连接。远程以太(remote.it)就是这样。

スクリーンショット 2021-09-27 18.47.32.png
スクリーンショット 2021-09-27 18.48.27.png
スクリーンショット 2021-09-27 18.48.53.png
スクリーンショット 2021-09-27 18.49.24.png
スクリーンショット 2021-09-27 18.50.49.png

总结

通过使用remote.it,正如您所看到的,可以创建一个非常有趣的状态,即服务器处于安全状态(或者说根本无法从互联网访问),但只有自己能够访问。
实际上,我们介绍的连接方法是通过remote.it在云端托管的代理服务器进行连接。除此之外,还提供了通过P2P(点对点)连接的方法。下次我们会介绍。

使用一次后,您就会发现它非常方便。与VPN相比,它连接更简单且更安全,所以请务必尝试一下!

2019年8月20日 追加記事を書きました。

连接到完全关闭入站端口的AWS服务器的方法 – P2P 版

广告
将在 10 秒后关闭
bannerAds