ねののお庭。

かりかりもふもふ。

Windowsから踏み台サーバ越しにsshするときのconfigの書き方の注意事項。

windows10のバージョン1700番台くらいでデフォルトでsshができるようになったのでまぁまぁ(puttyとか使わないで済むようになったので)いろいろ幸せになりました。しかし踏み台サーバ越しにsshする際にちょっと罠があったので書き記しておきます。

踏み台サーバ越しにsshする際の一般的な設定

クライアント(win10) -> 踏み台サーバ -> アクセスしたいサーバ

とある時に

ssh 踏み台サーバ

として踏み台サーバにログインしてから

ssh アクセスしたいサーバ

みたいなのはまぁめんどくさいので、一般的にはこんな感じのを~/.ssh/configにこんな感じに書くと思います。

Host 踏み台サーバ
    Hostname humidai.com
    User username
    IdentityFile ~/.ssh/id_rsa_to_fumidai

Host アクセスしたいサーバ
    Hostname i.want.access.com
    User username
    IdentityFile ~/.ssh/id_rsa_to_server
    ProxyCommand ssh 踏み台サーバー -W %h:%p

こんな感じに書いておけば

ssh アクセスしたいサーバ

とすれば一発でアクセスできるようになります。LinuxMacではこれで基本的にokです。

しかしwindowsは一つ注意が...

デフォでsshができるようになったので基本的にはこれで大丈夫なのですが、踏み台を使うときのProxyCommandのsshはローカルにあるsshのexeに対するフルパス(C:\Windows\System32\OpenSSH\ssh.exe)じゃないといけないとかいう罠があります。なのでこんな感じに書かないといけません。

Host 踏み台サーバ
    Hostname humidai.com
    User username
    IdentityFile ~/.ssh/id_rsa_to_fumidai

Host アクセスしたいサーバ
    Hostname i.want.access.com
    User username
    IdentityFile ~/.ssh/id_rsa_to_server
    ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe 踏み台サーバー -W %h:%p

とすればLinux/Macと同じようにさっくりsshできるようになります。めでたしめでたし。