ssh port forwardを試してみました
1.概要
sshを利用した接続ができる環境があると、ssh port forward機能を利用して、ssh接続先のlocal環境に存在するサービスに接続することができます。まず、sshコマンドで接続先のIP-addressのPostgreSQLへのトンネルを設定します。次に、psqlを利用して、トンネル経由で接続先IP-addressのPostgreSQLへ接続します。
2.詳細
手順は以下の通りです。
(a) 環境
localPCのIP-addressを192.168.20.20とします。
PostgreSQLが動作するIP-addressを192.168.10.10
(b) sshコマンドによるトンネル設定( terminal-1 で実行 )
ssh -i .ssh/id_ed25519.pem -L 15432:192.168.20.20:5432 192.168.10.10
id_ed25519.pemは、sshで192.168.10.10に接続するための鍵です。
この設定の意味は、LocalPC(192.168.20.20)のport 15432に接続すると
192.168.10.10のport 5432にforwardすると言うことです。
(c) psql接続( terminal-2 で実行 )
psql -h localhost -p 15432 -U my_user my_database
この設定の意味は、localhost(192.168.20.20)のport 15432に
psqlでmy_userでmy_databaseに接続することです。
つまり、192.168.10.10にはmy_databaseが存在し、my_userで接続できることが前提です。
参考
[外部サイト参照]
・psql による PostgreSQL サーバへのログイン・接続方法
・【sshサーバー】ubuntu sshサーバー構築〜LAN内外からのssh接続まで
・お前らのSSH Keysの作り方は間違っている
・sshポートフォワーディング
・SSHポートフォワーディングを使ったサーバー間接続
コメント
コメントを投稿