二段階認証サーバをトンネルする方法

以前、Macで踏み台を使って各種サーバにアクセスするやり方をメモ的に書いたのですが、昨今のセキュリティ対策で、踏み台が二段階認証が必要になるケースが増えているので、そのやり方をメモしておきます。
また、Macだとコマンドラインから簡単にポートフォワーディングができるのですが、Windowsだとちょっとやり方が違うので、そのメモも。
まず、Macで二段階認証付きのサーバにポートフォワードを行うのは単純です。
踏み台サーバ:fumidai.hoge.com(アカウント : humidai_user)
目的のサーバ:mokuteki_server(踏み台サーバ上で解決できるサーバ名、アカウント : mokuteki_user)
コマンドラインで、下記を実行します(Macでポート2001を使っていないのが前提)
$ ssh -L 2001:mokuteki_server:22 humidai_user@fumidai.hoge.com
これで二段階認証を行い、その後、例えばFileZillaからは、localhost:2001に接続します。
SSHのトンネルを指定してMySQLに接続することができるSequel ProというMySQL管理ソフトがあるのですが、そのままでは二段階認証が必要なサーバをトンネルとして設定できません。その場合、上記のポートフォワードを設定してから、下記のように設定します。
Sequel_Pro
MySQLホストのlocalhostは、mokuteki_serverから見た場合のMySQLのサーバ名で、SSHホストのlocalhostは、Mac自身になります。Mac自身と、そこからポートフォワードされたfumidai_serverをトンネルとして、MySQLサーバに接続している状態です。
これを、Windowsで行うには、puttyを使用します。
SessionのHost Nameには、踏み台のユーザー名とホスト名を入れます。
putty_1
Connection>SSH>Tunnelでは、まずSoure portにローカルで使っていないポート(この場合は2001)を入れます。
Destinationには、目的のサーバとなるmokuteki_serverとsshポートである22を入れて「Add」ボタンを押します。
putty_2
これで接続して認証を行えば、ポートフォワードが形成されるので、踏み台経由でMySQLに接続が可能になります。
Excelのインポートやデータの同期が凄まじく便利なNavicatから接続するには、下記のようにします。
(本当はNaviCatに二段階認証のsshトンネルに対応して欲しいのですが・・)
GeneralではMySQLの情報を入れます(localhostは、mokuteki_serverから見たMySQLサーバ名なので、適宜変更)
navicat_1
SSHタブでは、localhost(Windowsマシン自体)のポート2001(先ほど設定したポート)を入力します。
navicat_2
これで、SSHトンネルの設定ができるけれども、二段階認証に対応していないソフトでも接続できるようになります。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク