Win11 SSH サーバ設定 @22H2
2024/03/23 09:12
基本的には Windows 11 でも同じような設定を行うのですが、手順としては微妙に変わるので、リライトしました。
ssh サーバの説明や接続方法等は Win10 SSH サーバ設定 を参照いただくとして、対象のバージョン、手順、起動方法までを説明範囲とします。
Windows 対象バージョン
設定 選択
スタートメニューを右クリックして「設定」を選択します。バージョン情報 選択
表示された設定画面をスクロールして、バージョン情報を選択します。表示されているバージョンが今回の記事で利用しているバージョンです。
この場合、Windows11 Pro のバージョンが 22H2 で、OS ビルドが 22621.1848 になります。
sshd インストール手順
アプリ
アプリ画面に移動したら、オプション機能を選択します。アプリ > オプション機能
「オプション機能を追加する」の「機能を表示」を選択します。オプション機能を追加する
OpenSSH サーバーを選択して、チェックがついたら「次へ」を選択します。インストール
追加する機能を確認されるので、OpenSSH サーバーが表示されていることを確認して「インストール」を選択します。もしくは、もう一度アプリのオプション機能画面を表示して、OpenSSH サーバーがあればインストールされています。
sshd 利用
サービス起動手順
OpenSSH サーバーは、サービスとして起動しないと SSH ログインできません。サービス起動するために、まずスタートメニューを右クリックして「コンピューターの管理」を起動します。
「OpenSSH SSH Server」をダブルクリックして「OpenSSH Server のプロパティ」を開きます。
まず、サービスが停止していることが分かります。
また、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 サーバからアクセスする場合、特に何の設定も必要なくアクセスできました。アクセスできない場合、インストールされているアンチウィルスソフトの設定を確認してみてください。
Windows 11 への SSH 接続
Tera Term でアクセスする場合、通常の UNIX / Linux へアクセスするのと手順は同じです。そのまま localhost:22 へ ssh アクセスすると、通常のログイン処理でアクセス可能です。
詳細については、Win10 SSH サーバ設定 の SSH 接続方法を
以降、2024.3.2 追記。
質問があり、現時点のバージョンでローカルアカウントを作って、Tera Term でアクセスできることを確認しましたので、簡単に追記します。
[追記] Tera Term ログイン
Windows11 端末に、管理権限のあるユーザでログインしていることをユーザー作成の前提条件とします。バージョン情報
記事に投稿当時より Windows のバージョンが上がっているので、現時点のバージョン情報を記載します。sshd サービス確認
Ctrl + Shift + Esc 等でタスクマネージャーを起動し、サービスを選択します。上記画像の通り、sshd の「状態」欄が「実行中」になっていれば大丈夫です。
ローカルアカウント追加
ユーザー作成ですが、開いているタスクマネージャーのメニューからユーザーを選択して、そのままユーザーアカウントの管理をクリックします。ユーザーアカウントの画面がでたら、別のアカウントの管理を選択します。
「PC 設定で新しいユーザーを追加」をクリックします。
「アカウントの追加」をクリックします。
Microsoft アカウント画面が表示されたら「このユーザーのサインイン情報がありません」を選択します。
続いて「Microsoft アカウントを持たないユーザーを追加する」を選択します。
やっとローカルアカウントを作成する画面が表示されるので、必要事項を入力します。
ここでは、サンプルとして test ユーザーを作成します。
まず、ユーザー名とパスワードを入力します。
下へスクロールして、パスワードを忘れた場合の質問に回答します。
ここでは、すぐに削除するので x で埋めていますが、忘れた際に必要になります。
すべて入力して「次へ」をクリックすると、以下の「ほかのユーザー」画面に戻りますので、ユーザーが作られたことを確認します。
ここで作られたユーザーの「アカウントの種類」は「標準ユーザー」です。
リモートアクセスするユーザーに管理者権限が必要な場合は、別途管理者権限を付与してください。
レビュービルド26052以降であれば、Linux の sudo コマンドと同じコマンドが実装されるとのこと。
Windows11 へ SSH アクセス
Tera Term で Windows 11 に対してアクセスし、先ほど設定したユーザー名およびパスワードを入力すると、Windows 11 のターミナル(ここではデフォルトの cmd.exe を利用)にログインできます。流れを見てもらえれば分かる通り、SSHd が動作していれば、Windows 端末の「標準ユーザー」で Tera Term から SSH アクセスが可能です。