下記の様にすることで、netcatを利用してSocks5プロキシに接続して、サーバーにssh接続できる。
Host hostname
HostName xxx.xxx.xxx.xxx
ProxyCommand /usr/bin/nc -X 5 -x 127.0.0.1:9050 %h %p
ncの-X 5のオプションは、Socks5のオプション
ProxyCommandオプションではなく、mkfifoを経由して、sshとncを接続して、Tor経由で、サーバーにssh接続するには、次のようにして行う。
mkfifo /tmp/proxyfifo
nc -X 5 -x 127.0.0.1:9050 remote-host 22 < /tmp/proxyfifo | nc -l -p 2222 > /tmp/proxyfifo &
ここでのコマンドの説明は以下の通り:
- mkfifo /tmp/proxyfifo:名前付きパイプ(FIFO)を作成します。これはncとSSH間のデータ転送に使用されれる。
- nc -X 5 -x 127.0.0.1:9050 remote-host 22:ncを使用して、SOCKS5プロキシ (127.0.0.1 のポート 9050) を介してリモートホスト (remote-host) のポート 22(SSHのデフォルトポート)への接続を開始する。
- nc -l -p 2222:ローカルマシン上でポート 2222 をリッスンし、接続を待つ。
&:このコマンドをバックグラウンドで実行する。
sshでncに接続する。
ssh -p 2222 localhost