hans

hans

【WSL】WSL2ホストマッピングの自動変更の設定


シャットダウンや再起動の後、WSL はデフォルトで IP アドレスを自動的に変更します。これはリモートアクセスのプログラミングにとって非常に不便です。

以下は、WSL 内の Ubuntu 20.04 システムのホストマッピングを自動的に変更する手順です:

  1. 以下の内容を /etc/profile または~/.bashrc にコピーします。

    ipaddr=$(ifconfig eth0 | grep 'inet ' | awk '{print $2}')
    sed -i '/wslhost/d' /mnt/c/Windows/System32/drivers/etc/hosts
    echo "$ipaddr wslhost" >> /mnt/c/Windows/System32/drivers/etc/hosts
    

    Ubuntu を再度開くと、パーミッションが拒否されるというメッセージが表示される場合は、Windows で hosts ファイルを見つけて右クリックし、プロパティ、セキュリティ、ユーザーに権限を付与してください。

  2. SSH がデフォルトで自動的に有効になっていないことに気付きました。以下のコマンドを実行して SSH サービスを自動的に起動するように設定します。

    ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
    
  3. vim /etc/rc.local を編集し、次の内容を追加します。

    #!/bin/bash
    service ssh start
    exit 0
    
  4. 権限を設定します。

    chmod 755 /etc/rc.local
    

    唯一の追加要件は、WSL を起動する際に管理者権限を使用することです。そうしないとエラーが発生します。

  5. SSH リモートアクセスが必要なアプリケーションでは、元の IP アドレスの代わりに wslhost を使用してください。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。