多段 SSH 先ホストを使ってDynamicForward (Sockets Proxy)

できるといいなーとおもってやったら普通にできた。

local -> host(A) -> host(B) -> remote

な感じの構成で、host(B) には local から直接 SSH できなくて、 remote には、host(A) からはアクセス出来ない場合、多段Proxy の設定で host(B) に Proxy しつつ、DynamicForward したい。ついでに ProxyCommand つかって ssh-config にも書きたい、とおもって、書いてみたらできた。そりゃ netcat してるだけなんだからできるか、と今更だけど思ったけど。

Host xxx_proxy
  User sotarok
  IdentityFile ~/path/to/key
  Hostname host(B)
  DynamicForward 127.0.0.1:8081
  ProxyCommand ssh host(A) nc %h %p