iPhoneからWindows 11マシンへSSH接続したときに設定したことのメモ

これはなに Link to this heading

Windows 11に対して、スマートフォン(iPhone)からSSH接続できるようにしたときの設定したことのメモ。

環境 Link to this heading

サーバーの環境は以下のとおり。WindowsはProでなくても問題ないはず。

  • Windows 11 Pro 24H2 (26100.4652)
  • PowerShell 5.1.26100.4652

クライアントの環境は以下のとおり。AndroidでもSSHクライアントアプリを使えば同様の手順で接続できる。

ちなみにTermiusはAndroid版もある。

設定手順 Link to this heading

1. SSHサーバーのインストール Link to this heading

WindowsマシンにSSHサーバーをインストールする。 Windows 11では、OpenSSH Serverを標準でインストールできる。

まず、PowerShellを管理者権限で開き、PowerShellのバージョンを確認する。

PowerShell
$PSVersionTable.PSVersion

実行すると以下のような出力が得られる。

実行結果
> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      26100  4652

Majorバージョンが5以上、Minorバージョンが1以上であればOK。

次に、管理者権限を確認する。

PowerShell
(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

実行すると以下のような出力が得られる。

実行結果
> (New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
True

Trueが返ってくればOK。Falseの場合は、PowerShellを管理者権限で実行していないので、管理者権限で実行しなおす。

続いて、OpenSSH Serverがインストールされているか確認する。

PowerShell
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*'

実行すると以下のような出力が得られる。

実行結果
> Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*'


Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

Installedと表示されるならインストールされている。NotPresentと表示されるならインストールされていない。

インストールされていない場合は、以下のコマンドでインストールする。

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

下図のようなダイアログが出るので、完了まで待機する。

インストール中のダイアログ

インストールが完了すると以下の出力が得られる。

実行結果
> Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0


Path          :
Online        : True
RestartNeeded : False

2. SSHサーバーの起動 Link to this heading

OpenSSH Serverをインストールしたら、次にSSHサーバーを起動する。

まず、SSHサーバーのサービスがインストールされているか確認する。

PowerShell
Get-Service -Name sshd

実行すると以下のような出力が得られる。

実行結果
> Get-Service -Name sshd

Status   Name               DisplayName
------   ----               -----------
Stopped  sshd               OpenSSH SSH Server

Stoppedと表示されているので、SSHサーバーは停止している。 停止している場合は、以下のコマンドでSSHサーバーを起動する。

PowerShell
Start-Service sshd

実行しても何もログが表示されないが、サービスは起動している。もう一度、サービスの状態を確認する。

PowerShell
Get-Service -Name sshd

以下のように、状態がRunningに変わっていればOK。

実行結果
> Get-Service -Name sshd

Status   Name               DisplayName
------   ----               -----------
Running  sshd               OpenSSH SSH Server

3. SSHサーバーの自動起動設定 Link to this heading

今の状態では、SSHサーバーは手動で起動しなければならない。これを、OS起動時に自動で起動するように設定する。 現在の起動の設定は以下のコマンドで確認できる。

PowerShell
(Get-Service -Name "sshd").StartType

実行すると以下のような出力が得られる。

実行結果
> (Get-Service -Name "sshd").StartType
Manual

Manualと表示されている場合、手動起動の設定になっている。 これをOS起動時に自動で起動するように設定する。以下のコマンドを実行する。

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

実行しても何もログが表示されないが、設定は変更されている。もう一度設定を確認する。

PowerShell
(Get-Service -Name "sshd").StartType

実行すると以下のような出力が得られるはずである。

実行結果
> (Get-Service -Name "sshd").StartType
Automatic

このようにAutomaticと表示されていれば、OS起動時に自動で起動するようになった。

4. ファイアウォールの設定 Link to this heading

SSHサーバーはデフォルトで22番ポートを使用する。ファイアウォールで22番ポートが開いているか確認する。

PowerShell
Get-NetTCPConnection -LocalPort 22

実行すると以下のような出力が得られる。

実行結果
> Get-NetTCPConnection -LocalPort 22

LocalAddress                        LocalPort RemoteAddress                       RemotePort State       AppliedSetting OwningPro
                                                                                                                        cess
------------                        --------- -------------                       ---------- -----       -------------- ---------
::                                  22        ::                                  0          Listen                     40100
0.0.0.0                             22        0.0.0.0                             0          Listen                     40100

Listenと表示されれば、22番ポートは開いている。

5. SSH鍵の生成と登録 Link to this heading

スマートフォンで、SSH接続するためのSSH鍵を生成する。 筆者はTermiusのiOSアプリを使用している。鍵を生成してSSH接続するだけなら無料で使える。 鍵を生成できるなら任意のSSHクライアントで問題ない。

鍵を生成したら、公開鍵をWindowsマシンに登録する。公開鍵はメールで送るなどの方法1でWindows側に転送する。

Windowsマシンに渡した公開鍵をC:\Users\<ユーザー名>\.ssh\authorized_keysに登録する。authorized_keysファイルがない場合は新規に作成する。 例を以下に示す。

authorized_keys
ssh-ed25519 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

6. SSH接続の確認 Link to this heading

ここまでの設定が完了したら、SSH接続を確認する。 スマートフォンのSSHクライアントアプリから、先ほど登録した公開鍵を使用して接続する。

接続先のホスト名はWindowsマシンのIPアドレス、ポートは22を指定する。ユーザー名とパスワードは、Windowsのユーザー名とパスワードを指定する。 初回のみフィンガープリント確認が求められるので、確認して接続する。

参考文献・URL Link to this heading

Windows環境でSSHサーバーを有効化する - JBS Tech Blog image

Windows環境でSSHサーバーを有効化する - JBS Tech Blog

最新のWindows環境でSSHサーバー機能を有効化する手順です。

blog.jbs.co.jp favicon image blog.jbs.co.jp

  1. 筆者はGmailの下書きに保存して渡している。 ↩︎

Licensed under CC BY-NC-SA 4.0
最終更新 8月 12, 2025
Hugo で構築されています。
テーマ StackJimmy によって設計されています。