
皆さんこんにちは
マイロプスのエンジニアのushirogouchiです。
最近ですと、Webアプリのテスト環境もクラウドで簡単に作ることが多く、あまり手元に物理マシンを置くことは少なくなっていたのですが
今回とある案件でIoT関係の物理ハード(OS はLinux)を手元に置くことになりました。
全部自分でセットアップできればよかったのですが、外部の人にも色々セットアップをしてもらう必要が出てきました。
外部の人がアクセスするために社内のルーターの設定を変えたりするのも大変ですし、手軽に外部からのアクセスする方法はないかと悩んでいた時に教えてもらったのが、
ngrokになります。
こちらですが、ローカルマシンの特定のポートを外部からアクセスできるURLを発行してくれるサービスになります。
ローカル環境にある開発中のWebアプリケーションに外部に公開して検証してもらうといった使い方ができるようなのですが、
今回こちらを使い、手元にある物理ハードの22番ポートに対してこのサービスを使いSSHのアクセスできる様にしました。
使い方(OS Linux)は以下のようになります。
1.https://ngrok.com/でアカウントを作成します。
2.対応するOSのngrokをダウンロードしてきます。
3.ダウンロードしたものを使用するマシンで解凍します。
4.認証用のファイルを作成します(XXXXXXXXXXXにはアカウント作成先のページに表示されます)。
./ngrok authtoken XXXXXXXXXXXXXXXXXXXXXXXXXXX
5.ポートを指定してngrokを実行します。
./ngrok tcp 22
Forwarding tcp://0.tcp.ngrok.io:12345 -> localhost:22
6.発行されたURLの0.tcp.ngrok.io:12345にsshでアクセスします。(Linux のログインidがtestの場合)
ssh test@0.tcp.ngrok.io -p 12345
上記の様にすることで簡単に外部からもSSHアクセスできる用になりました。
すごい簡単に使えましたので、もし手元にあるローカルマシン等に一時的に外部からアクセスさせたい時など大変重宝しそうなサービスだと思います。

エンジニア
ウシロゴウチ
松岡修造さんの日めくりカレンダーを3つ持ってます