0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Katacoda 環境に SSH ログインする方法 (ngrokの代替手段)

Last updated at Posted at 2022-04-13

はじめに

悲報!以前は ngrok 経由で Katacoda 環境に SSH アクセスできていましたが、ngrok を起動すると Katacoda 環境がリセット (Expired) されるようになりました。

スクリーンショット 2022-04-13 16.39.18.png

代替手段の模索

Software Design 2022年4月号の「【最終回】はじめよう,おうちクラウド【6】おうちクラウドをインターネットに公開しよう」の記事に代替手段に関する参考情報が掲載されていました。

frp (fast reverse proxy)

awesome-tunnelingのリストの中で、frp (fast reverse proxy) を使用することで Katacoda 環境に SSH アクセスできることを確認しました。

構成

インターネット上で ngrok.com がパブリックIPアドレスを提供してくれました。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f37323437392f38393365316438322d643339322d373761312d633835322d3132313138626631333231372e706e67.png

ngrok.com の代替として、パブリッククラウドのホスティング環境などで frps (サーバ機能) を動作させる必要があります。

スクリーンショット 2022-04-13 16.46.03.png

Katacoda で frp を使う

図は frp のサイトから引用しています。
まず、最初にパブリッククラウドのホスティング環境などで frps コマンドを実行します。

スクリーンショット 2022-04-13 16.48.14.png

次に Katacoda 環境で frpc コマンドを実行する必要がありますが、Katacoda 環境から外向きの通信で開いているポートは 80 (HTTP) と 443 (HTTPS) のみです。
パブリッククラウドのホスティング環境では、frps コマンドは 80 (HTTP) または 443 (HTTPS) ポートで待ち受ける必要があります。

スクリーンショット 2022-04-13 16.53.07.png

Katacoda 環境で frpc コマンドを実行して frps と正常に接続されると、frpc.ini で指定したポート番号でトンネルが作成されます。

スクリーンショット 2022-04-13 16.53.17.png

設定例

パブリッククラウドのホスティング環境 (frps.ini)

パブリッククラウドのホスティング環境は ポート: 443 で待ち受ける例です。
tokenの値(12345678)は容易に推察されない値に置き換えてください。

frps.ini
[common]
bind_port = 443
token = 12345678

Katacoda 環境 (frpc.ini)

SSH アクセス (パブリックIP (ポート: 10022) → Katacoda 環境 (ポート: 22)) と VNC アクセス (パブリックIP (ポート: 5901) → Katacoda 環境 (ポート: 5901)) を作成する例です。
[public IP]の部分はパブリッククラウドのホスティング環境のIPアドレスに置き換えてください。
tokenの値(12345678)は容易に推察されない値に置き換えてください。

frpc.ini
[common]
server_addr = [public IP]
server_port = 443
token = 12345678

[vnc]
type = tcp
local_ip = 127.0.0.1
local_port = 5901
remote_port = 5901

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 10022

結果

ターミナルから SSH 接続とVNC Clientで X Windowsを表示させることができました。

スクリーンショット 2022-04-13 17.16.35.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?