ngrok

ローカルPC上で稼働しているサービス(TCP)を外部公開できるサービス。

dashboard.ngrok.com

上記でアカウントを登録する。

繋ぎたいサーバーにインストールファイルをダウンロードする。

$ wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip

解凍する。

$ unzip ngrok.zip

認証トークンを発行する。(SSH接続などに必要)

$ ./ngrok authtoken 4n******************_******************

HTTPサーバーのポートを確認。

# sudo vi /etc/httpd/conf/httpd.conf
Listen 8080

WEBサーバーを起動させた後、ngrok を上記のポートで立ち上げる。firewallが空いてなければ開ける。

$ ls
ngrok  ngrok-stable-linux-amd64.zip

$ ./ngrok http 8080

f:id:hirose-test:20190625183611p:plain

表示されたURLにブラウザでアクセス

f:id:hirose-test:20190625183624p:plain

SSH

ngrok を起動させる。(SSHの22ポートをトンネリング) (HTTPの方を立ち上げたままSSHも立ち上げようとしたらエラーが出た。後で同時に起動する方法も調べるが、とりあえず単発で立ちあげる)

エラーの場合。サインアップしてauthtoken登録済みでもエラーが出た。
$  ./ngrok tcp 22
TCP tunnels are only available after you sign up.
Sign up at: https://ngrok.com/signup

If you have already signed up, make sure your authtoken is installed.
Your authtoken is available on your dashboard: https://dashboard.ngrok.com

ERR_NGROK_302

HTTPの方は落としてから再度起動させてみる。

$ ./ngrok tcp 22

いけた。

f:id:hirose-test:20190625191534p:plain

リモートからSSH接続する。

$ ssh hirose@0.tcp.ngrok.io -p 1***6

f:id:hirose-test:20190625190442p:plain

/* -----codeの行番号----- */