外部からローカル環境へのSSHアクセスを可能にさせるngrokの使い方が簡単だった

thumbnail_20190128.jpg

皆さんこんにちは
マイロプスのエンジニアのushirogouchiです。

最近ですと、Webアプリのテスト環境もクラウドで簡単に作ることが多く、あまり手元に物理マシンを置くことは少なくなっていたのですが 今回とある案件でIoT関係の物理ハード(OS はLinux)を手元に置くことになりました。
全部自分でセットアップできればよかったのですが、外部の人にも色々セットアップをしてもらう必要が出てきました。

外部の人がアクセスするために社内のルーターの設定を変えたりするのも大変ですし、手軽に外部からのアクセスする方法はないかと悩んでいた時に教えてもらったのが、 ngrokになります。

https://ngrok.com/

こちらですが、ローカルマシンの特定のポートを外部からアクセスできる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つ持ってます

お仕事のご相談、採用についてなど、お気軽にお問い合わせください。