目次
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 アプリを実行する