φ(.. ) 備忘録
   
  

2021年9月21日火曜日

既存UbuntuサーバをWindows10のWSL2に置換する!(其の二)

 其の二:wsl2にCygwinからsshログインする

まず、wsl2のUbuntuにopensshをインストールする。

$ sudo apt install openssh-server

次に、以下コマンドで鍵を作成する。

$ sudo ssh-keygen -A

次に、/etc/ssh/sshd_configのPasswordAuthenticationをyesに変更する。これをやらないと『Permission denied(publickey)』で怒られる。

PasswordAuthentication yes

次に、portproxyの設定とUbuntuのsshdサービスを起動するため、以下のバッチを作成する。バッチでは、wsl側のUbuntuが使用しているIPアドレスをwslコマンドで取得し、変数に設定。それを使って、portproxyを設定後、root権限でsshサービスを起動する。

@echo off
for /f "usebackq" %%t in (`wsl -d Ubuntu-20.04 exec hostname -I`) do set IP=%%t
netsh.exe interface portproxy delete v4tov4 listenport=22
netsh.exe interface portproxy add v4tov4 listenport=22 connectaddress=%IP%
wsl -d Ubuntu-20.04 -u root service ssh start

上記バッチをC:\Users\ユーザ名\tools\wsl\wsl2_ssh_start.batとかに保存し、管理者権限で実行する。

以上で、Cygwinからwslにsshログインできるようなる。
Windows起動時にこのバッチを起動するようタスクスケジューラに設定すれば、自動起動できると思う。
外部からのアクセスを許可する場合には、Windows Defender ファイアウォールの「受信の規則」でTCPポート22番を許可に設定する必要があります。ご注意を!






0 件のコメント :

コメントを投稿