🍜
MacからWSL2にssh接続する
前回、WindowsのWSL上に立てたGitlabサーバーにMacからアクセスしました。
そうなるとMacからWSLへのsshもやりたくなります。
参考にした記事
最初「MacからWindowsにssh」と検索してしまい、以下の記事に記載の通り、「WindowsにSSHサーバーを立てる必要がある?」等と勘違いしてしまいましたが、WSLに繋げるのであれば不要です。
WSL上でsshdを立て、ポートフォワーディングしてさえあげればMacからWSLにアクセスできます。
WSLについてのネットワーク構成は以下の記事が参考になります。
手順
Macでsshサービスを起動
sudo systemctl start ssh
sshサービスがない場合はインストールしてください。
アクティブになったことを確認します。
sudo systemctl status ssh
Windows→WSLへポートフォワード
WSLでipアドレスを調べます。
ip a
PowerShellを管理者権限で開き、WSLへのポートフォワードの設定します。
netsh interface portproxy add v4tov4 listenport=22 connectaddress=<IPアドレス> connectport=22
netsh interface portproxy show v4tov4
こんな感じになっていればOKです。
MacからWSLにアクセス
WindowsのIPアドレスを調べておき、Macのターミナルでsshをします。
ssh <WSLのユーザー>@<WindowsのIPアドレス>
(例)私の場合、ユーザー名ushibuta
、WindowsのIPアドレスが192.168.40.217
なので、以下のようになりました。
ssh ushibuta@192.168.40.217
パスワードを聞かれるので、WSLのユーザーのパスワードを入力します。
画像はVSCodeですが、無事入ることができました。
備考
- ssh通信自体が確立できていない場合は、Windowのファイアウォールあたりが原因かもしれません。
- ssh通信が確立できているが、パスワード認証が許可されていない場合はWSLの
ssh_config
の設定を疑ってみると良いと思います。
Discussion