はじめに
かつて Windows で SSH を利用するには、PuTTY などのサードパーティ製ツールや、Cygwin などの複雑な環境構築が必要でした。 しかし、現在の Windows 10(バージョン 1809 以降)および Windows 11 では、OpenSSH が OS の標準機能として正式に採用 されています。
ここで注意が必要なのは、他のサーバーへ接続するための「OpenSSH Client(クライアント)」はデフォルトでインストールされていますが、外部からの接続を受け入れるための「OpenSSH Server(サーバー)」は、手動で機能追加をする必要がある という点です。
本記事では、GUI(設定画面)よりも手早く確実な PowerShell を使用して、Windows マシンを SSH サーバー化する手順を解説します。
- OpenSSH Server のインストール手順(PowerShell)
- サービスの自動起動設定とファイアウォールの確認
- 接続確認とよくあるエラー(権限まわり)の対処法
OpenSSH とは(Client と Server の違い)
OpenSSH は、ネットワーク経由で他のコンピュータを安全に操作するための「SSH プロトコル」を利用するためのオープンソースソフトウェアです。 大きく分けて 「Client(クライアント)」 と 「Server(サーバー)」 の 2 つの機能が含まれています。

Client と Server の違い
| 特徴 | 💻 SSH Client (クライアント) | 🖥️ SSH Server (サーバー) |
| 立場 | 操作する側 | 操作される側 |
| イメージ | リモコン(命令を送る) | テレビ本体(命令を待つ) |
| データの向き | 自分 $\rightarrow$ 相手 | 相手 $\rightarrow$ 自分 |
| Windowsの初期状態 | ✅ インストール済み | ❌ 未インストール (今回の作業) |
| 利用シーン | この PC から、 Linux サーバー等を管理したい | 外出先や別の部屋から、 この PC を遠隔操作したい |

つまり、「この PC から Linux サーバーを操作したい」だけなら何もする必要はありませんが、「別の PC からこの Windows を操作したい」 という場合に、今回の作業が必要になります。
インストール手順
OpenSSH Server のインストール
Windows への機能追加は「設定」アプリからも可能ですが、バージョンの違いでメニュー配置が変わることがあるため、PowerShell を使った手順が最も確実で早いです。
スタートボタンを右クリックし、「Windows PowerShell (管理者)」 または 「ターミナル (管理者)」 を選択して起動します。
以下のコマンドをコピー&ペーストして実行します。インターネット経由で機能がダウンロード・インストールされます。
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0※ 実行後、OperationRunning のバーが表示され、完了まで数分かかる場合があります。
完了したら、以下のコマンドで正しくインストールされたか確認します。
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'実行結果の例
Name : OpenSSH.Client~~~~0.0.1.0
State : Installed
Name : OpenSSH.Server~~~~0.0.1.0
State : Installed <--- ここが "Installed" になっていればOK!OpenSSH.Server の State が Installed になっていれば、インストールは成功です。
初期設定(サービスの起動と自動化)
インストールしただけでは、SSH サーバー機能はまだ動いていません。 手動でサービスを開始し、さらに 「PC を再起動しても自動で立ち上がる」 ように設定を変更する必要があります。
まずは現在のセッションで SSH サーバーを起動します。
Start-Service sshd起動できたか確認します。
Get-Service sshdStatus が Running になっていれば起動成功です。
初期状態では「手動」起動になっているため、PC を再起動すると SSH サーバーが止まってしまいます。 常に接続できるように、スタートアップ設定を 「自動」 に変更します。
Set-Service -Name sshd -StartupType 'Automatic'ファイアウォールの確認
通常、OpenSSH Server をインストールすると、Windows Defender ファイアウォールの設定(ポート 22 番の許可)も自動的に行われます。 念のため、許可ルールが有効になっているか確認しておきましょう。
Get-NetFirewallRule -Name *ssh*実行結果の確認ポイント:
Enabled : True(有効になっていること)Action : Allow(許可されていること)Direction : Inbound(受信ルールであること)
これらが確認できれば、外部からの接続を受け入れる準備は完了です。
SSH 接続確認
それでは、実際に接続できるかテストしてみましょう。 別の PC(Mac や Linux、スマホのターミナルアプリなど)から接続するのがベストですが、手元にない場合は自分自身(localhost)への接続でも動作確認は可能です。
基本的な接続コマンド
PowerShell(またはコマンドプロンプト)で以下のコマンドを実行します。
# 書式: ssh <ユーザー名>@<IPアドレスまたはホスト名>
ssh user01@192.168.1.10- 初回接続時の警告
-
The authenticity of host ... can't be established.というメッセージが出ますが、これは「初めて接続する相手だけど大丈夫?」という確認です。yesと入力して Enter を押してください。 - パスワード入力
-
Windows のユーザーパスワードを入力します(入力中、画面には何も表示されません)。
【重要】トラブルシューティング
接続時やコマンド実行時に、以下のようなエラーが表示されることがあります。
原因と対処法
これは、SSH の設定ファイル(config)や鍵ファイルの 「アクセス権限(Permission)が緩すぎる(誰でも読める状態)」 ために発生するセキュリティエラーです。



古い情報では「ファイルを削除する」という解決策が見られますが、削除してはいけません(せっかくの設定が消えてしまいます)。正しい対処法は、「ファイルの所有者(自分)以外のアクセス権を削除する」 ことです。
修正手順(エクスプローラーの場合):
- エラーが出ているファイル(config 等)を右クリック > プロパティ
- [セキュリティ] タブ > [詳細設定] をクリック
- 「継承の無効化」をクリックし、「現在継承されている権限をすべて削除します」を選択
- 改めて「追加」から、自分自身のユーザーだけ に「フルコントロール」を付与します。



これでファイルは「自分しか読めない」状態になり、SSH コマンドが正常に実行できるようになります。
まとめ
本記事では、Windows 10/11 の標準機能を使用して、OpenSSH Server を構築・設定する手順を解説しました。
- 標準機能で完結
-
PuTTY や Cygwin などのサードパーティ製ツールを使わず、OS の機能だけで手軽に SSH サーバーが立てられます。
- PowerShell が便利
-
インストールから初期設定まで、コマンド数行で完結します。
- セキュリティ
-
初期設定ではパスワード認証が使われますが、インターネット経由で利用する場合などは、セキュリティリスクが高まります。
次のステップとして、より強固なセキュリティを実現する 「公開鍵認証(Public Key Authentication)」 の導入を検討することをお勧めします。


パスワードを使わずに「鍵」ファイルを持つユーザーだけが接続できる仕組みで、不正アクセスのリスクを大幅に減らすことができます。
以上、最後までお読みいただきありがとうございました。


