10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows 11 で OpenSSH サーバーをインストールする

Posted at

概要

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 をデフォルトシェルに指定する場合は以下のコマンドになります。

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 パッケージのインストール に記載されているリンクからインストール用パッケージをダウンロードします。

MSI パッケージのインストール

PowerShell は C:\Program Files\PowerShell\7\pwsh.exe にインストールされるので、SSHのデフォルトシェルの設定は以下のコマンドで行います。

PowerShell (管理者権限)
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Program Files\PowerShell\7\pwsh.exe" -PropertyType String -Force

コマンド実行後、クライアントから SSH 接続して PowerShell が起動すれば完了です。

10
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?