【Windows】OpenSSH Server のインストールと初期設定手順(PowerShell)

  • URLをコピーしました!
目次

はじめに

かつて 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 を操作したい」 という場合に、今回の作業が必要になります。

インストール手順

STEP

OpenSSH Server のインストール

Windows への機能追加は「設定」アプリからも可能ですが、バージョンの違いでメニュー配置が変わることがあるため、PowerShell を使った手順が最も確実で早いです。

STEP
PowerShell を管理者権限で起動

スタートボタンを右クリックし、「Windows PowerShell (管理者)」 または 「ターミナル (管理者)」 を選択して起動します。

STEP
インストールコマンドの実行

以下のコマンドをコピー&ペーストして実行します。インターネット経由で機能がダウンロード・インストールされます。

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

※ 実行後、OperationRunning のバーが表示され、完了まで数分かかる場合があります。

STEP
インストールの確認

完了したら、以下のコマンドで正しくインストールされたか確認します。

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 になっていれば、インストールは成功です。

STEP

初期設定(サービスの起動と自動化)

インストールしただけでは、SSH サーバー機能はまだ動いていません。 手動でサービスを開始し、さらに 「PC を再起動しても自動で立ち上がる」 ように設定を変更する必要があります。

STEP
サービスの開始

まずは現在のセッションで SSH サーバーを起動します。

Start-Service sshd

起動できたか確認します。

Get-Service sshd

Status が Running になっていれば起動成功です。

STEP
自動起動の設定(重要)

初期状態では「手動」起動になっているため、PC を再起動すると SSH サーバーが止まってしまいます。 常に接続できるように、スタートアップ設定を 「自動」 に変更します。

Set-Service -Name sshd -StartupType 'Automatic'
STEP

ファイアウォールの確認

通常、OpenSSH Server をインストールすると、Windows Defender ファイアウォールの設定(ポート 22 番の許可)も自動的に行われます。 念のため、許可ルールが有効になっているか確認しておきましょう。

Get-NetFirewallRule -Name *ssh*

実行結果の確認ポイント:

  • Enabled : True (有効になっていること)
  • Action : Allow (許可されていること)
  • Direction : Inbound (受信ルールであること)

これらが確認できれば、外部からの接続を受け入れる準備は完了です。

STEP

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 のユーザーパスワードを入力します(入力中、画面には何も表示されません)。

【重要】トラブルシューティング

接続時やコマンド実行時に、以下のようなエラーが表示されることがあります。

Bad owner or permissions on C:\Users\user01/.ssh/config

原因と対処法

これは、SSH の設定ファイル(config)や鍵ファイルの 「アクセス権限(Permission)が緩すぎる(誰でも読める状態)」 ために発生するセキュリティエラーです。

古い情報では「ファイルを削除する」という解決策が見られますが、削除してはいけません(せっかくの設定が消えてしまいます)。正しい対処法は、「ファイルの所有者(自分)以外のアクセス権を削除する」 ことです。

修正手順(エクスプローラーの場合):

  1. エラーが出ているファイル(config 等)を右クリック > プロパティ
  2. [セキュリティ] タブ > [詳細設定] をクリック
  3. 「継承の無効化」をクリックし、「現在継承されている権限をすべて削除します」を選択
  4. 改めて「追加」から、自分自身のユーザーだけ に「フルコントロール」を付与します。

これでファイルは「自分しか読めない」状態になり、SSH コマンドが正常に実行できるようになります。

まとめ

本記事では、Windows 10/11 の標準機能を使用して、OpenSSH Server を構築・設定する手順を解説しました。

標準機能で完結

PuTTY や Cygwin などのサードパーティ製ツールを使わず、OS の機能だけで手軽に SSH サーバーが立てられます。

PowerShell が便利

インストールから初期設定まで、コマンド数行で完結します。

セキュリティ

初期設定ではパスワード認証が使われますが、インターネット経由で利用する場合などは、セキュリティリスクが高まります。

次のステップとして、より強固なセキュリティを実現する 「公開鍵認証(Public Key Authentication)」 の導入を検討することをお勧めします。

パスワードを使わずに「鍵」ファイルを持つユーザーだけが接続できる仕組みで、不正アクセスのリスクを大幅に減らすことができます。

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

インフラ(クラウド/NW/仮想化)から Web 開発まで、技術領域を横断して活動するエンジニア💻 コンシューマー向けエンタメ事業での新規開発・運営経験を活かし、実戦的な技術ノウハウを発信中

[ Certs ] CCIE Lifetime Emeritus / VCAP-DCA ✒️ [ Life ] 技術書・ビジネス書愛好家📖 / 小・中学校で卓球コーチ👟

目次