概要
Windows 11 での OpenSSH サーバーのインストール方法を紹介します。また、SSH 接続時のデフォルトシェルの変更方法も併せて紹介します。
OpenSSH のインストール
下記に Windows での OpenSSH に関する情報が記載されています。
上記を参照し、ここでは Windows 11 のGUIを使ったインストール方法を確認します。
OpenSSH サーバーのインストール
設定
アプリから システム
> オプション機能
を開きます。オプション機能を追加する
の 機能を表示
にて OpenSSH サーバー
を選択します。
下の 次へ
を押し、次の画面でも 追加
を押すことでインストールされます。
OpenSSH サーバーの起動
ファイル名を指定して実行 (Windows
+ R
) から、services.msc
を実行します。
サービスの一覧から OpenSSH SSH Server
をダブルクリックします。
プロパティで以下の通り設定し、OK
を押します。
-
スタートアップの種類
:自動
-
サービスの状態
:開始
これで OpenSSH サーバーのインストールおよび起動が完了し、クライアントから SSH 接続が可能になります。
ここで、SSH 接続した際に使用されるデフォルトシェルはコマンドプロンプトとなっていますが、PowerShell などに変更したい場合は以下の設定を行います。
SSH 接続時のデフォルトシェルの変更
以下の記事の Windows での OpenSSH 用の既定のシェルの構成
を参照します。
OpenSSH のデフォルトシェルの変更は、管理者権限で PowerShell から設定します。デフォルトシェルを以下の2つに設定する場合についてそれぞれ説明します。
- Windows PowerShell
- PowerShell 7
Windows PowerShell をデフォルトシェルに設定
Windows に標準でインストールされている Windows PowerShell をデフォルトシェルに指定する場合は以下のコマンドになります。
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
コマンド実行後、クライアントから SSH 接続して Windows PowerShell が起動すれば完了です。
PowerShell 7 をデフォルトシェルに設定
Windows に標準でインストールされている Windows PowerShell に対して、ユーザーが任意にインストールする PowerShell もデフォルトシェルとして利用できます。Windows PowerShell と PowerShell の差異については以下の記事で解説されていますが、PowerShell の方が機能は充実しています。
PowerShell のインストールはこちらの公式ドキュメントを参考に行います。
インストール方法は複数ありますが、ここでは SSH サーバーにインストールすることを考慮してサーバー向けとして提供される MSIパッケージ
を利用することとします。
MSI パッケージ - Windows Server とエンタープライズ展開シナリオに最適な選択肢
X86 や X64 の Windows の場合、winget でも同じMSIパッケージがインストールされるので、winget を用いた方法でインストールしても問題ありません。
MSI パッケージのインストール に記載されているリンクからインストール用パッケージをダウンロードします。
PowerShell は C:\Program Files\PowerShell\7\pwsh.exe
にインストールされるので、SSHのデフォルトシェルの設定は以下のコマンドで行います。
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Program Files\PowerShell\7\pwsh.exe" -PropertyType String -Force
コマンド実行後、クライアントから SSH 接続して PowerShell が起動すれば完了です。