rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

WindowsにOpenSSHサーバをインストール

2024 Jan. 13.
2023 Aug. 13.
2023 May 02.
2023 Apr. 30.

出典
[Microsoft] Windows 11でOpenSSHサーバを動かす & トラブルシュートメモ #Windows - Qiita
Windows11にOpenSSHサーバをインストールして管理者権限のコマンドを実行できるようにする : 日記帳
Windows 用 OpenSSH の概要 | Microsoft Learn

環境 Windows 11 Home Edition

稼働有無確認

Windowsの「サービス」アプリを起動する。
"Open SSH SSH Server"が実行中であればインストールは不要。

OpenSSHサーバをインストール

管理者権限でPowerShellを開く。

パッケージ名を確認する。

> Get-WindowsCapability -Online | where -Property Name -ILike "OpenSSH*"

インストールする。

> Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

自動起動に設定する。

> Set-Service -Name sshd -StartupType Automatic

起動する。

> Start-Service -Name sshd

sshクライアントからシャットダウン等ができるようにSSHに管理者権限を許可する

管理者としてコマンドプロンプトを開き、下記コマンドを実行する。

> net user administrator /active:yes

サーバ設定 C:\ProgramData\ssh\sshd_configを管理者モードで編集する

設定ファイル

%programdata%\ssh\sshd_config [ C:\ProgramData\ssh\sshd_config ]

設定内容

Port xxxxx # SSHサーバーのポート番号を指定する
HostKey __PROGRAMDATA__/ssh/ssh_host_ed25519_key # ed25519暗号化方式を許可する。その他のHostKey行は # を付けてコメントアウトする。
PubkeyAuthentication yes # 公開鍵認証を許可する
PasswordAuthentication no # パスワード認証を禁止する
PermitEmptyPasswords no # 空パスワードを禁止する
AllowUsers TARO # ログインできるユーザーを指定
# ChallengeResponseAuthentication # このオプションを指定するとSSHが起動しない

次の2行をコメント行にする。
この2行を有効にしたら、administratorsグループユーザーの公開鍵は "PROGRAMDATA__/ssh/administrators_authorized_keys" に格納する。
# Match Group administrators
#        AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

サーバーホストのSSHポートを開放する

[ファイアウォールとネットワーク保護]アプリで設定する。

「設定 -> ネットワークとインターネット -> ネットワークの詳細設定 -> Windows ファイアウォール」で「ファイアウォールとネットワーク保護」を起動する。
(タスクバーの検索窓で「ファイアウォールとネットワーク保護」を検索・起動してもよい)

[ファイアウォールとネットワーク保護]
詳細設定 -> セキュリティが強化されたWindows ファイアウォール -> 受信の規則 -> 新しい規則
「新しい規則」に「すべての発信元からの特定のローカルポート(sshポート/TCP)接続許可」を入力する。

公開鍵と秘密鍵を作成する

参考サイト OpenSSH SSHサーバー、SSHクライアント インストール、鍵生成・配置 - rokkonet

公開鍵をサーバー内に配置する

%HOMEPATH%.ssh\authorized_keys に公開鍵を格納(既存authorized_keysファイルに連結)する。

sshd_config設定で次の2行を有効にしている場合は、%HOMEPATH%.ssh\authorized_keys ではなく C:\ProgramData\ssh\administrators_authorized_keys に格納する。(要管理者権限)

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

参考 Windows 10 : OpenSSH : SSH鍵ペア認証 : Server World

WindowsでのSSHプロトコル受け入れ許可設定は不要


SSHサーバを再起動するコマンド

管理者権限のPowerShell

> Restart-Service sshd