Windows10/wsl/外部からssh login

wsl2は外部からは見えないので、一度Windowsを経由してログインする。

  • wsl2のIPアドレスは起動するたびに変わってしまう
    • 常に127.0.0.1で見えるようにする
    • C:/Users/''username''/..wslconfig で設定
[wsl2]
localhostForwarding=False
  • ssh ProxyCommand を使って、あたかも直接ログインしているように見せかける
    • ログイン先のwsl2と、Windowsの Authorised_keys には、ログイン元のsshの公開鍵を登録しておく
    • ログイン元の .ssh/config に下記を設定。これで ssh wsl2 だけでログインできる
Host wsl2
  HostName 127.0.0.1
  ProxyCommand ssh -W %h:%p WindowsHost名
  • ProxyCommandで使えるトークン
    • accepts the tokens %%, %h, %n, %p, and %r.
    • %h : The remote hostname.
    • %n : The original remote hostname, as given on the command line.
    • %p : The remote port.
    • %r : The remote username.