Macから踏み台サーバを2つ介してMysql接続する方法 其の二 ~多段SSH接続編
※最終目標
ローカル環境から踏み台サーバを2つ介して最終的にMacのGUIからDB接続するというもの。
ローカル :自分のMac 踏Aサーバー :一個目の踏み台サーバー(自社のサーバーの事) 踏Bサーバー :二個目の踏み台サーバー(他社のサーバーの事) DBサーバー :最終的に繋がる予定のMysqlサーバー
ローカル > 踏Aサーバー > 踏Bサーバー > DB と多段ポートフォワーティングしてMacのGUIから接続したいのです。
今回の前提条件として、接続の許可は上記の順番のサーバーのみ接続許可されています。
ローカル > 踏Bサーバーや
踏Aサーバー > DBサーバーなどの接続はできません。
プロジェクトとかだとあるんです。こんな面倒な環境が。。
2章 ローカル > 踏Bへ 踏Aを介して接続する
前回はローカル > 踏BサーバーへのRSA認証接続をしましたが、
今回はこの接続を踏み台にして踏Bサーバーへ接続をします。
これが属に言う多段接続です。
・踏Aでssh-keygenをして踏Bへ接続できるようにする
前回の記事のローカル > 踏AへのRSA認証と方法は全く同じですので
前の記事を参照してください。
自分の場合は踏Bは他社サーバーだった為、踏Bの公開鍵を既にもらっていました。
この場合は設定などは特に必要無いので、そのままもらった公開鍵(id_rsa)を使いましょう。
踏A > 踏BへのRSA認証接続ができたら、
踏Aで作ったid_rsaファイルをローカルに持ってきます。
※ただし、同じ場所に置くと踏Aの接続用に作ったid_rsaファイルとかぶってしまうので
名前を適当に変更しましょう。今回は~/.ssh/humiB_id_rsaとします
では早速多段SSH接続します
ローカルにて
・~/.ssh/configに踏Bへの設定を追記します。
以下を追記してください。
#踏B
Host humiB
Hostname humidaiB.co.jp
IdentityFile ~/.ssh/humiB_id_rsa
ProxyCommand ssh humiA nc %h %p
User raharu0425_humiB
Host:適当な名前で大丈夫です今回はhumiBとしました
Hostname:踏Bのホスト名又はIPアドレスと入れましょう
IdentityFile:踏Bのid_rsaのパスを指定します
ProxyCommand:ここに前回作った設定のhumiAを踏み台にして踏Aに接続するというコマンドが追加されています
User:踏Bに入るユーザー名を入れましょう
これをふまえて、最後に踏B > DBサーバーのへのRSA認証&~/.ssh/configの設定をやります。
やり方は今まで同様です。
最終的にローカルの~/.ssh/configに以下の様な設定が書き込まれる筈です。
Host * ServerAliveInterval 30 #踏A Host humiA Hostname humidaiA.co.jp IdentityFile ~/.ssh/id_rsa User raharu0425_humiA #踏B Host humiB Hostname humidaiA.co.jp IdentityFile ~/.ssh/humiB_id_rsa ProxyCommand ssh humiA nc %h %p User raharu0425_humiB #DBサーバー Host mysql_server Hostname mysql.co.jp IdentityFile ~/.ssh/mysql_server_id_rsa ProxyCommand ssh humiB nc %h %p User raharu0425_mysql
さて、これでローカルから各踏み台を介して最終的にDBサーバーまでssh接続できるようになった筈です。
ローカルで以下のコマンドでちゃんと入れるか試してみましょう。
もしもここでpasswordを求められたり、
うまくssh接続できない場合は何か間違っています。
どこの経路まで正常に接続できるのか確認しましょう。
全てローカルにて
踏み台Aに接続
$ ssh humiA
踏み台Bに接続
$ ssh humiB
DBサーバーに接続
$ ssh mysql_server
※うまく行かない場合は以下このところを確認しましょう。
・Hostnameにaliasを指定している場合ping [hostname]が通るか?
・ssh -v [alias] デバックモードで接続を行いエラーが出ていないか?
さてこれでやっと準備が整いました。
次回はmysqlクライアントのSequel ProでMysqlに接続します。
関連記事