※当サイトの記事には、広告・プロモーションが含まれます。

WSL 2(Windows SubSystem for Linux 2)のUbuntuにSSH接続する

japan.cnet.com

 Gallagher議員は声明で、「TikTokは、『デジタル麻薬』として米国人を依存症にしている一方で、米国人のデータを大量に収集し、ニュースを検閲している」と非難した。Rubio議員も、TikTokが「北京(中国政府)に支配されている」と主張した。

「TikTok」を禁止する超党派法案、米議員らが提出 - CNET Japan

⇧『デジタル麻薬』というパワーワード

WSL 2(Windows SubSystem for Linux 2)のUbuntuSSH接続する

というわけで、

qiita.com

⇧ 上記サイト様を参考にWSL 2(Windows SubSystem for Linux 2)のUbuntuSSH接続を試みる。

まずは、WSL 2のUbuntuを起動。

WSL 2のUbuntuSSHサービスが起動しない…

調べたところ、

lil.la

⇧ 上記サイト様によると、WSL 2のUbuntu内にSSHキーを作成する必要があるとのことなので、作成。

SSHサービスが起動されました。

で、コマンドプロンプトをもう一つ起ち上げて、SSH接続を試みるもPermission deniedで接続できん... 

パスワード認証が有効になってないようなので、有効にする。

確かにパスワード確認がnoになっている。

yesに変更で。

SSHサービスを再起動する。

あと、UbuntuのデフォルトのユーザーだとSSH接続できないって言ってる情報があったので、ユーザーを追加することにします。

追加したユーザーへsudo権限を付与。

WSL 2のUbuntuIPアドレスを確認。eth0のinetの値がWSL 2のUbuntuIPアドレスになるようです。

コマンドプロンプトをもう一つ起ち上げて、追加したユーザーでWSL 2のUbuntuSSH接続してみる。

SSH接続できた模様。

WinSCPからもSSH接続してみる。

初回接続時の確認が出るので、「はい」を選択。

SSH接続できたようです。

これで、WSL 2のUbuntuJavaApache Tomcatをインストールすれば、WARファイルのデプロイの練習とかできますかね。

WSL 2(Windows SubSystem for Linux 2)に固定IPアドレスを設定する

WSL 2(Windows SubSystem for Linux 2)のLinuxディストリビューション仮想マシンは起動する度にIPアドレスが変更されてしまう仕様らしい。

www.kemasoft.net

sweetcafe.jp

⇧ 上記サイト様によりますと、StaticなIPアドレスを設定すれば、続先先のIPアドレスを変更しなくても済むようになるようです。

設定したIPアドレスについては、

qiita.com

⇧ 削除もできる模様。

ipconfigコマンドで確認したところ、WSL 2のLinuxディストリビューション仮想マシンデフォルトゲートウェイは存在しないらしい。

IPアドレスの設定は管理者権限でコマンドプロンプトを起動しておく必要があるようです。

netsh interface ip add address "vEthernet (WSL)" 10.255.255.88 255.255.255.0
netsh interface portproxy add v4tov4 listenport=22 connectaddress=10.255.255.16

WSL 2のUbuntuを再起動と、UbuntuSSHサービスも再起動。

wsl -d [WSL 2のLinuxディストリビューション] -u root ip addr add 10.255.255.16/24 broadcast 10.255.255.255 dev eth0 label eth0:1
wsl sudo service ssh start    

WSL 2のUbuntuの起動とUbuntuSSHサービスの起動のコマンドは、分けて実行したほうが良いかもしれない、同時にコマンド実行したら接続できんかったので。

ipconfigでWSL 2のLightweight vmIPアドレスが変更されています、「リンクローカル IPv6 アドレス」が消えるのが気になるけども...。

WSL 2のUbuntuのeth0にIPアドレスが追加されてるようです。

WSL 2のUbuntuのeth0に追加されたIPアドレスSSH接続。

接続できました。

Windowsの起動の度にリセットされるとしたら、参考サイト様のように、バッチファイルを実行するようにしておいた方が良いかもしれない、というかeth0に追加したIPアドレスはリセットされるっぽい。

公開鍵認証でSSH接続する

実際の現場だと、秘密鍵と公開鍵を作成して公開鍵をサーバーに登録してもらってSSH接続するってのが多い気がするので、

qiita.com

qiita.com

⇧ 上記サイト様を参考に、試してみる。

Git Bashを起動して、秘密鍵・公開鍵を作成します。(Git Bashを使うには、Git for Windowsをインストールしている必要があります。)

ssh-keygen -t ed25519 -C ""    

SSHキーが作成されました。

WSL 2のUbuntu側に公開鍵を登録します。Git Bashだとパスの区切りが「\(バックスラッシュ)」じゃなくて「/(スラッシュ)」にする必要があるっぽいので要注意ですかね。

ssh-copy-id -i [公開鍵までのパス] [リモートのユーザー]@[リモートのホスト]    

ssh-copy-idコマンドが成功すると、

www.wantanblog.com

⇧ 公開鍵については、リモートのホストのユーザーのフォルダの.ssh/authorized_keysというファイルに追加登録されるようです。

では、秘密鍵でWSL 2のUbuntuSSH接続してみる。

ssh -i [秘密鍵までのパス] [リモートのユーザー]@[リモートのホスト]    

⇧ 接続できました。

公開鍵が登録されているユーザーのフォルダに配置されてる.ssh/authorized_keysというファイルの中身を確認してみる。

公開鍵が追加されているようです。

C:\Users\Toshinobu\.ssh\id_ed25519.pubの中身を確認してみましたが、

同じ内容が.ssh/authorized_keysというファイルに追加されるということのようです。

続いて、WinSCPでも公開鍵認証できるようにします。「設定(D)...」を選択。

SSH」>「認証」で「秘密鍵(K)」を設定します。

作成しておいた秘密鍵を選択。

PuTTY形式に変換しますかと聞かれるので「OK」。

ファイル名を適当に決めて、「保存(S)」を押下。

秘密鍵が設定されるので「OK」を押下。

接続情報を保存する場合は「保存(S)」を押下。

「ログイン」を押下して、接続確認。

WinSCPでも公開鍵認証でSSH接続できました。

WSL 2(Windows SubSystem for Linux 2)に固定のIPアドレスを設定して起動するのが結構手間ですかね...

そして、使いたいLinuxディストリビューションDebian系のUbuntuではなくて、Red Hat系のRHELRed Hat Enterprise Linux)なのだけど、WSL 2(Windows SubSystem for Linux 2)でRHELRed Hat Enterprise Linux)を利用するには面倒な作業があるっぽい...
毎度モヤモヤ感が半端ない...

今回はこのへんで。