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[]
のように、ポートフォワードを行います。