SSHでポートフォワード
ポートフォワードについての説明は省きます。
想定しているのはOpenSSHを用いて「ローカルのLinuxマシン」から「経由するリモートサーバ」を経由して、「目的のサーバ」に辿り着くことです。
まずリモートサーバで接続用のユーザを作成して、そのユーザの公開鍵と秘密鍵を作成します。
秘密鍵の方をローカルマシンのLinuxユーザの~/.ssh以下に設置します。
この時、~/.sshが無ければ作成して、パーミッションを700、秘密鍵のパーミッションを600にします。
またリモートサーバの~/.sshもパーミッションが700、公開鍵のパーミッションも600にしなければなりません。
(※すでにWindows上でPuTTY形式の秘密鍵を持っている場合は、PuTTYgenを使ってOpenSSH形式の秘密鍵に変換して下さい。)
次にローカルサーバ上で
あとは別のターミナルを立ち上げ、
$ ssh (リモートサーバの接続用ユーザ)@(リモートサーバのホスト名) -N -L \
(ポートフォワードに使用するローカルサーバの任意のポート番号):(目的のサーバのホスト名):(目的のサーバのポート番号) \
-i ~/.ssh/(秘密鍵の名前)
のように、ポートフォワードを行います。
// 例として、SVNのリポジトリをポートフォワードで参照。
$ svn co []http://localhost:(ポートフォワードに使用するローカルサーバの任意のポート番号)/svn/testrepos[]