ユーザ用ツール

サイト用ツール


public:win11_wsl2_ssh

Windows 11 の WSL2 による SSH 接続

インターネット経由で宇宙地球環境情報処理システムのサーバにアクセスするには, ログインサーバ (踏み台サーバ)を経由する必要があります. ログインサーバへは SSHの公開鍵認証によりアクセスします.
本記事では, Windows11 に Windows Subsystem for Linux 2 (WSL2) をインストールしログインサーバにssh接続します. X11 Forwarding の方法も説明します. 

本記事の接続設定

ホストネームログインネーム
サーバ踏み台サーバ踏み台username
クライアントlocalhostクライアントusername

WSL2 のコマンドインストール

OSバージョン確認

PowerShell もしくはコマンドプロンプトを「管理者として実行」を選択し(shell.jpg) を起動する. Windows Terminal 1) でも PowerShell もしくはコマンドプロンプトを開ける (terminal.jpg).
OS のバージョンは

PS C:\Windows\System32> winver

で確認できる. ここでは、Windows11 バージョン 23H2 を使用する.

Linuxディストリビューションの選択、インストール

WSL2 をオンラインでインストールするLinux ディストリビューションは「wsl -l -o」で確認できる.

PS C:\Windows\System32> wsl -l -o
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl.exe --install <Distro>' を使用してインストールします。

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
OracleLinux_7_9                        Oracle Linux 7.9
OracleLinux_8_7                        Oracle Linux 8.7
OracleLinux_9_1                        Oracle Linux 9.1
openSUSE-Leap-15.5                     openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed                    openSUSE Tumbleweed

※ コマンドではなく Microsoft Store からもインストールでき, 上記以外のディストリビューション(例えばAlmaLinux)もインストールできる.

ここでは、Ubuntu-22.04 をインストールする (wsl_install.jpg).

wsl --install -d Ubuntu-22.04

指示のとおりシステムを再起動する.

Ubuntu Linux の起動と初期設定

再起動すると自動的に Ubuntu が起動するが, 起動しない場合はメニューから起動する. ユーザー名(クライアントusername)とパスワードを入力する.

Enter new UNIX username: クライアントusername
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
...

Ubuntu を更新する.

username@localhost:/etc/apt$ sudo apt update
username@localhost:/etc/apt$ sudo apt -y full-upgrade

Timezone, locale を確認し, 必要であれば適宜変更する.

username@localhost:/etc/apt$ timedatectl
               Local time: Fri 2024-01-12 11:51:24 JST
           Universal time: Fri 2024-01-12 02:51:24 UTC
                 RTC time: Fri 2024-01-12 02:51:24
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: inactive
          RTC in local TZ: no
username@localhost:/etc/apt$ localectl status
   System Locale: LANG=C.UTF-8
       VC Keymap: n/a
      X11 Layout: us
       X11 Model: pc105

鍵ペアの作成

ssh鍵を作成する. (#以降はコメント)

username@localhost:~$ ssh-keygen -t ecdsa -b 384
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_ecdsa):
Created directory '/home/username/.ssh'.
Enter passphrase (empty for no passphrase):     # パスフレーズ入力
Enter same passphrase again:                    # パスフレーズ入力
Your identification has been saved in /home/username/.ssh/id_ecdsa
Your public key has been saved in /home/username/.ssh/id_ecdsa.pub
The key fingerprint is:
SHA256:qIOIpGWS430BdmS8b+6ARH5JUoLj+eDZ4LD4ux8gEXA username@Win11
The key's randomart image is:
+---[ECDSA 384]---+
|+ E..+           |
| =  =.           |
|o o= o.          |
|.B+ =...         |
|XoXo +o S        |
|B@o=o..o         |
|+o.o+oo          |
|  . .o..         |
|  o+. ..         |
+----[SHA256]-----+

鍵の申請

作成した公開鍵 id_ecdsa.pub の登録申請をする.
 isee ログインサーバ申請 (内部ページ)  CIDASシステム申請

鍵の登録

作成した鍵を ssh-agent に登録する. (#以降はコメント)

username@localhost:~$ eval $(ssh-agent)             # ssh-agent を起動する
Agent pid 658
username@localhost:~$ ssh-add ~/.ssh/id_ecdsa       # 鍵を登録
Enter passphrase for /home/username/.ssh/id_ecdsa:  # パスフレーズ
Identity added: /home/username/.ssh/id_ecdsa (username@Win11)

登録されているかは下記コマンドで確認できる.

username@localhost:~$ ssh-add -l
384 SHA256:qIOIpGWS430BdmS8b+6ARH5JUoLj+eDZ4LD4ux8gEXA username@Win11 (ECDSA)

ssh 接続

下記コマンドでssh接続する.
-Aオプションは, 認証エージェントを転送する, つまりログインサーバに接続後, 続けて別のサーバに接続する際に, 最初に使った秘密鍵をそのまま使用するためにつける.
-Xオプションは X11のポートフォワーディングを有効にする(リモートマシンのXアプリケーションが実行できるようになる)

username@localhost:~$  ssh 踏み台username@踏み台サーバ -AX
The authenticity of host '踏み台サーバ' can't be established.
ED25519 key fingerprint is SHA256:TTWvEs781VjJwKrzOLJVDtTbLUn/1Ut00as1oihi5QI.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '踏み台サーバ' (ED25519) to the list of known hosts.

踏み台サーバからさらに目的のサーバにssh接続する。

X11のポートフォワーディングについて

WSL2 では、デフォルトで GUI 表示ができる. X サーバを新たにインストールする必要はない.
Linux 用 Windows サブシステム で Linux GUI アプリを実行する

メモ

1)
Windwos 11 でデフォルトで使えるターミナル. タブが使え、カスタマイズもしやすい. (Windows ターミナルについて(Microsoft公式) )
public/win11_wsl2_ssh.txt · 最終更新: 2024/03/18 11:13 by hirata.nanako

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki