Win11 SSH サーバ設定 @22H2

2024/03/23 09:12 OS別::Windowsその他::技術情報
Windows 10 での SSH サーバ設定は、かなりの方に参照いただいているようで、感謝いたします。
基本的には Windows 11 でも同じような設定を行うのですが、手順としては微妙に変わるので、リライトしました。

ssh サーバの説明や接続方法等は Win10 SSH サーバ設定 を参照いただくとして、対象のバージョン、手順、起動方法までを説明範囲とします。

Windows 対象バージョン

設定 選択

スタートメニューを右クリックして「設定」を選択します。
設定
スタートメニューから設定選択

バージョン情報 選択

表示された設定画面をスクロールして、バージョン情報を選択します。
win11 バージョン情報
バージョン情報 選択
バージョン情報が表示されます。

表示されているバージョンが今回の記事で利用しているバージョンです。
この場合、Windows11 Pro のバージョンが 22H2 で、OS ビルドが 22621.1848 になります。
win11 Version
Windows バージョン情報
続けて ssh をインストールするため、この画面のメニューからアプリを選択します。

sshd インストール手順

アプリ

アプリ画面に移動したら、オプション機能を選択します。
オプション機能
オプション機能

アプリ > オプション機能

「オプション機能を追加する」の「機能を表示」を選択します。
機能を表示
機能を表示

オプション機能を追加する

OpenSSH サーバーを選択して、チェックがついたら「次へ」を選択します。
オプション機能を追加する
オプション機能を追加する

インストール

追加する機能を確認されるので、OpenSSH サーバーが表示されていることを確認して「インストール」を選択します。
インストール対象確認
インストール対象確認
OpenSSH サーバーがインストールされるのを待ちます。
win11 OpenSSH サーバー インストール待機
インストール 待機
インストールされると、インストール済みと表示されます。
もしくは、もう一度アプリのオプション機能画面を表示して、OpenSSH サーバーがあればインストールされています。
インストール済み
インストール確認
インストール確認

sshd 利用

サービス起動手順

OpenSSH サーバーは、サービスとして起動しないと SSH ログインできません。

サービス起動するために、まずスタートメニューを右クリックして「コンピューターの管理」を起動します。

win
コンピューターの管理選択画面
ここから「サービスとアプリケーション」→「サービス」へ移動すると「OpenSSH SSH Server」があります。

サービス選択
サービス選択画面

「OpenSSH SSH Server」をダブルクリックして「OpenSSH Server のプロパティ」を開きます。

まず、サービスが停止していることが分かります。

OpenSSH SSH Server のプロパティ
OpenSSH SSH Server のプロパティ画面
「開始」ボタンをクリックして、サービスを実行しておきます*1

また、Windows を起動したらサービスも起動させたい場合は、「全般」タブの「スタートアップの種類」を「手動」から「自動」に変更して「OK」ボタンをクリックします。

スタートアップの種類選択
スタートアップの種類選択画面

ユーザ

普段、私は Windows に xxx@hotmail.co.jp のアカウント(いわゆる Microsoft アカウント)を利用してログインしています。
このアカウントでは、ssh によるリモートアクセスができませんでした。

ということで、ローカルアカウントの作成が必要です。

スタートメニューを右クリックしたときにでる「コンピューターの管理」は、すでに起動しているものと思います。
「コンピューターの管理(ローカル)」→「システムツール」→「ローカル ユーザーとグループ」→「ユーザー」と開いていくと、sshd ユーザが自動で作られているのが確認できました。

この「ユーザー」か、「ユーザー」を選択して出てきた右ペインを右クリックすると「新しいユーザー」が出てくるので、これをクリックして ssh 接続するための新しいユーザーを追加します。

RDP だと、Administrators グループまたはリモートデスクトップユーザーグループに追加しなければなりません。
ここで作成したアカウントは Administrators グループに入れてしまいましたが、OpenSSH でのアクセスの場合はユーザー登録だけで良いようです(未確認)。

sshd_conf

OpenSSH サーバーとして設定は、以下フォルダの設定ファイルで行います。
%SystemRoot%\System32\OpenSSH
管理者権限でテキストエディタを起動したら sshd_config_default を開いて sshd_config という名前で別名保存します。

コマンドプロンプトを管理者権限で起動すると、簡単にコピーできます。

Win キーを押して cmd を入力し、Ctrl + Shift キーを押しつつ Enter すると、管理者権限でコマンドプロンプトを起動できます。
C:\WINDOWS\system32>cd OpenSSH
C:\Windows\System32\OpenSSH>dir
C:\Windows\System32\OpenSSH>copy sshd_config_default sshd_config
C:\Windows\System32\OpenSSH>notepad sshd_config
C:\Windows\System32\OpenSSH>

アンチウィルスソフト

Norton Internet Security をインストールしていますが、LAN 内の Linux サーバからアクセスする場合、特に何の設定も必要なくアクセスできました。

アクセスできない場合、インストールされているアンチウィルスソフトの設定を確認してみてください。

*1 : プロパティ画面ではなく、サービス選択で「OpenSSH SSH Server」を右クリックして「開始」を選択しても SSH 接続を受け付けるようになります。

Windows 11 への SSH 接続

Tera Term でアクセスする場合、通常の UNIX / Linux へアクセスするのと手順は同じです。

そのまま localhost:22 へ ssh アクセスすると、通常のログイン処理でアクセス可能です。

詳細については、Win10 SSH サーバ設定 の SSH 接続方法を参照してみてください

以降、2024.3.2 追記。

質問があり、現時点のバージョンでローカルアカウントを作って、Tera Term でアクセスできることを確認しましたので、簡単に追記します。

[追記] Tera Term ログイン

Windows11 端末に、管理権限のあるユーザでログインしていることをユーザー作成の前提条件とします。

バージョン情報

記事に投稿当時より Windows のバージョンが上がっているので、現時点のバージョン情報を記載します。
Win11 Version

sshd サービス確認

Ctrl + Shift + Esc 等でタスクマネージャーを起動し、サービスを選択します。
sshd サービス起動
ここで、状態が「停止」であれば、右クリックして開始をクリックし、実行中にさせます。

上記画像の通り、sshd の「状態」欄が「実行中」になっていれば大丈夫です。

ローカルアカウント追加

ユーザー作成ですが、開いているタスクマネージャーのメニューからユーザーを選択して、そのままユーザーアカウントの管理をクリックします。
ユーザアカウントの管理

ユーザーアカウントの画面がでたら、別のアカウントの管理を選択します。
別のアカウントの管理

「PC 設定で新しいユーザーを追加」をクリックします。
PC 設定で新しいユーザーを追加

「アカウントの追加」をクリックします。
アカウントの追加

Microsoft アカウント画面が表示されたら「このユーザーのサインイン情報がありません」を選択します。
Microsoft アカウント 1

続いて「Microsoft アカウントを持たないユーザーを追加する」を選択します。
Microsoft アカウント 2

やっとローカルアカウントを作成する画面が表示されるので、必要事項を入力します。
Microsoft アカウント 3

ここでは、サンプルとして test ユーザーを作成します。
まず、ユーザー名とパスワードを入力します。
Microsoft アカウント 情報入力 1

下へスクロールして、パスワードを忘れた場合の質問に回答します。
ここでは、すぐに削除するので x で埋めていますが、忘れた際に必要になります。
Microsoft アカウント 情報入力 2

すべて入力して「次へ」をクリックすると、以下の「ほかのユーザー」画面に戻りますので、ユーザーが作られたことを確認します。

ここで作られたユーザーの「アカウントの種類」は「標準ユーザー」です。
アカウント確認画面

リモートアクセスするユーザーに管理者権限が必要な場合は、別途管理者権限を付与してください。

レビュービルド26052以降であれば、Linux の sudo コマンドと同じコマンドが実装されるとのこと。

Windows11 へ SSH アクセス

Tera Term で Windows 11 に対してアクセスし、先ほど設定したユーザー名およびパスワードを入力すると、Windows 11 のターミナル(ここではデフォルトの cmd.exe を利用)にログインできます。
Tera Term から SSH ログイン
ここでは Raspberry Pi からアクセスしていますが、ローカル (localhost)でもアクセス可能です。


流れを見てもらえれば分かる通り、SSHd が動作していれば、Windows 端末の「標準ユーザー」で Tera Term から SSH アクセスが可能です。