OpenSSHは、暗号化したリモートログインとファイル転送を担うSSHプロトコルの実装です。LinuxのディストリやmacOS・BSDには標準で入っており、Windowsでも標準機能(オプション機能)として追加できます。2026年10月時点の最新版は10.6です。この記事では、手元と接続先のバージョンを確認するコマンド、主要OSに実際に入っている版、アップデートの手順、サポート期限(EOL)の考え方、10.5・10.6で変わった点を、コマンドの実出力つきで整理します。
まとめ:最新バージョン10.6と確認・更新の要点
- 最新バージョン:10.6(2026年10月6日リリース)。直前は10.5(2026年8月11日)、10.4(2026年7月6日)。
- 確認方法:手元は
ssh -V、接続先はサーバが返すバナー(SSH-2.0-OpenSSH_9.6p1 ...)で分かる。 - OSの搭載版は最新より古い:Ubuntu 24.04は9.6p1、Ubuntu 26.04は10.2p1、AlmaLinux 9.8・10は9.9p1。修正は各ディストリが手元の版へ移植(バックポート)して配るのが基本。
- 更新方法:Linuxは
apt・dnfのパッケージ更新、Windowsは標準機能をWindows Updateで更新するのが基本。 - EOL:OpenSSH本体に公開されたサポート期限は無い。実際の期限は、使っているOSやディストリのサポート期間で決まる。
以下で、確認・導入・更新の手順と、10.x系へ上げるときの注意点を順に見ていきます。
OpenSSHを構成するコマンドとPortable版
OpenSSHはOpenBSDプロジェクトが開発するSSHプロトコル2.0の実装です。リモートログインのssh、ファイル転送のscp・sftp、サーバのsshd、鍵の作成と管理を担うssh-keygen・ssh-agent・ssh-add、ホスト鍵を集めるssh-keyscanで構成されます。SSHの仕組みや公開鍵認証そのものはSSH接続とは?仕組み・公開鍵認証・ポート22から安全な運用設定まで実装者向けに解説で扱っています。
OpenBSD向けの本体とは別に、LinuxやmacOS向けに移植した「Portable OpenSSH」が配られ、版番号の末尾にp1のような移植版の番号が付きます(例:10.6p1)。Linuxのパッケージはこの版をもとにビルドされています。Windows版はMicrosoftがPortable版から派生させた「Win32-OpenSSH」で、ssh -VにはOpenSSH_for_Windows_で始まる文字列が出ます。
OpenSSHの最新バージョン10.6とリリース履歴
2026年10月時点の最新版は10.6で、10月6日に公開されました(OpenSSH公式のリリースノート一覧)。10.x系の公開日と主な変更は次のとおりです。
| 版 | 公開日 | 主な変更 |
|---|---|---|
| 10.6 | 2026-10-06 | 圧縮のLZ77辞書を無効化・ssh-mldsa44-ed25519を正式に有効化 |
| 10.5 | 2026-08-11 | ssh-agentのロック中の制限すり抜けを修正・ssh -Zを追加 |
| 10.4 | 2026-07-06 | sftp・scpの書き込み先を修正・鍵再交換を厳格化 |
| 10.3 | 2026-04-02 | 空のprincipalsを持つ証明書の扱いを変更 |
| 10.2 | 2025-10-10 | ControlPersist有効時の不具合修正 |
| 10.1 | 2025-10-06 | WarnWeakCryptoを追加・agentソケットを移動 |
| 10.0 | 2025-04-09 | DSAを削除・mlkem768x25519-sha256を既定化 |
10.4から10.6は1〜2か月おきに出ています。10.5と10.6のリリースノートは、AIを使った脆弱性報告が急増し、同じ不具合を別の研究者が独立に見つける例が続いたため、修正をまとめて出すのをやめて「当面はリリースの頻度を上げる」と書いています(OpenSSH 10.6のリリースノート)。当面は「最新版」の番号がこれまでより早く変わると見ておくのが安全です。
OpenSSHのバージョン確認
ssh -Vによる手元のバージョン表示
手元のOpenSSHの版はssh -Vで表示します。サーバ側はsshd -Vでも同じ文字列が出ます。次はDebian sid(10.6p1)とmacOS 26.6.2で実行した結果です。
$ ssh -V
OpenSSH_10.6p1 Debian-1, OpenSSL 3.6.5 29 Sep 2026
# macOS 26.6.2 の標準ssh
$ ssh -V
OpenSSH_10.3p1, LibreSSL 3.3.6
この表示は標準エラー出力に出ます。ssh -V | grep OpenSSHのようにパイプに渡すと何も拾えないので、スクリプトではssh -V 2>&1と書きます。カンマの後ろはリンクしている暗号ライブラリの版で、SSHプロトコルの版(2.0)とも別の値です。
パッケージの版とssh -Vの表示がずれる理由
ディストリのパッケージでは、パッケージの版とssh -Vの表示が一致しないことがあります。2026年10月13日にDebian 13のコンテナで確かめると、パッケージは1:10.0p1-7+deb13u4なのに、ssh -VはOpenSSH_10.0p2 Debian-7+deb13u4でした。上流の修正版(10.0p2)を取り込んだうえで、パッケージ名は元の版のまま更新しているためです。脆弱性の該当判定は、ssh -Vの数字ではなく、ディストリのセキュリティ情報に載るパッケージの版(例:3ubuntu13.19まで含む文字列)で行います。パッケージの版は次で確認できます。
# Debian / Ubuntu
dpkg-query -W openssh-server
# RHEL / AlmaLinux / Rocky / Fedora
rpm -q openssh-server
OS自体の版の確かめ方はLinuxのバージョン確認:OS確認コマンドの早見表とos-release・unameの使い分けにまとめています。
接続先サーバのバナーによるバージョン確認
SSHサーバは接続直後に自分の版を名乗ります。ログインできない相手でも、次の3つのどれかで版が分かります。Ubuntu 24.04のsshdに、Ubuntu 26.04のクライアントから接続して取った出力です。
$ nc -w 3 server 22
SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.19
$ ssh -v user@server 2>&1 | grep "remote software"
debug1: Remote protocol version 2.0, remote software version OpenSSH_9.6p1 Ubuntu-3ubuntu13.19
$ ssh-keyscan -t ed25519 server
# server:22 SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.19
(続くホスト公開鍵の行は省略)
多数のサーバを棚卸しするなら、ログインせずに済むssh-keyscanが向いています。バナーのうちOpenSSH_9.6p1の部分はsshdの設定で消せないため、外部から版を調べられる前提で、未修正の脆弱性が残るパッケージを放置しない運用にします。
Windows版OpenSSHのバージョンと導入状態の確認
WindowsでもPowerShellでssh -Vを実行します。標準機能として入れたOpenSSHはC:\Windows\System32\OpenSSHに置かれます。導入状態は、管理者として開いたPowerShellで次のコマンドを実行して確認します。
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
where.exe ssh
where.exeで複数のsshが出るときは、PATHで先に見つかった方が使われます。後から入れた版でssh -Vの表示が変わらないときは、まずこの順番を確かめます。
主要OS・ディストリに入っているOpenSSHの版
「最新は10.6なのに、サーバのssh -Vは9.x」というのは珍しくありません。2026年10月13日時点で、主要なOSに入る版を調べた結果が次の表です。
| OS | OpenSSHの版 | 確認方法 |
|---|---|---|
| Ubuntu 22.04 LTS | 8.9p1 | Launchpadの公開パッケージ |
| Ubuntu 24.04 LTS | 9.6p1 | コンテナで実行 |
| Ubuntu 26.04 LTS | 10.2p1 | コンテナで実行 |
| Debian 12 | 9.2p1 | sources.debian.org |
| Debian 13 | 10.0p2 | コンテナで実行 |
| AlmaLinux 9.7(RHEL 9.7互換) | 8.7p1 | AlmaLinuxのリポジトリ |
| AlmaLinux 9.8(RHEL 9.8互換) | 9.9p1 | コンテナで実行 |
| AlmaLinux 10(RHEL 10互換) | 9.9p1 | コンテナで実行 |
| Fedora 43 / 44 | 10.0p1 / 10.2p1 | Fedoraのパッケージ情報 |
| macOS 26.6.2 | 10.3p1 | 実機で実行 |
| Debian sid | 10.6p1 | コンテナで実行 |
LTSのディストリは、出荷時の版を基本的に据え置き、脆弱性の修正を手元の版へ移植します。Ubuntu 24.04の9.6p1-3ubuntu13.19の末尾.19は、リリース後に重ねた更新の回数です。ただし版を上げることもあり、AlmaLinux 9は9.7までの8.7p1から、9.8で9.9p1に変わりました(AlmaLinux 9.7のパッケージ一覧)。どちらにしても、版番号だけを見て「古いから危険」とは判断できません。標準サポートが終わったOSでは、延長保守(Ubuntu 18.04ならUbuntu Pro。2028年まで)を契約していなければ修正が届かなくなります。その場合はOSごと更新するのが筋です。
OpenSSHのインストール手順
LinuxでのOpenSSHサーバのインストール
多くのディストリにはクライアントが最初から入っています。サーバとして使う場合だけ、サーバのパッケージを足して起動します。
# Debian / Ubuntu
sudo apt update
sudo apt install openssh-server
# RHEL / AlmaLinux / Rocky / Fedora
sudo dnf install openssh-server
sudo systemctl enable --now sshd
Windowsのオプション機能によるOpenSSHのインストール
Windows 10 バージョン1809(OSビルド17763)以降とWindows Server 2019以降では、OpenSSHは「オプション機能」として入ります。Windows Server 2025は最初から入っていますが、サーバは無効のままです(Microsoft LearnのOpenSSH for Windowsの概要)。管理者のPowerShellで次を実行します。
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
OpenSSH Serverを入れると、セットアップ処理が受信ポート22のファイアウォール規則OpenSSH-Server-In-TCPを作ります。作られていなければGet-NetFirewallRule -Name "OpenSSH-Server-In-TCP"で確かめ、手で追加します(Microsoft Learnの導入手順)。
macOSの標準OpenSSHとHomebrew版
macOSにはOpenSSHが標準で入っており、macOS 26.6.2では10.3p1でした。Appleのビルドは上流より遅れて更新されます。10.6を使いたい場合は、Homebrewのopenssh(2026年10月13日時点のformulaは10.6p1)をbrew install opensshで入れます。入れた後はwhich sshでHomebrew側が先に見つかるかを確かめます。
OpenSSHのアップデート手順
Linuxのパッケージ更新
基本はOSのパッケージ更新に任せます。ディストリが検証したビルドに置き換わり、設定ファイルも引き継がれます。
# Debian / Ubuntu
sudo apt update
sudo apt install --only-upgrade openssh-server openssh-client
# RHEL / AlmaLinux / Rocky / Fedora
sudo dnf upgrade openssh-server openssh-clients
# 設定の構文を確かめてから再起動
sudo sshd -t && sudo systemctl restart ssh # RHEL系は sshd
リモートでsshdを再起動するときは、今のセッションを切らずに、別の端末から新しく接続できることを確かめてから作業を終えます。再起動しても既存のセッションは残るため、設定を誤っても戻せます。
Windows標準版の更新とWin32-OpenSSHプレビュー版の導入
Windows標準のOpenSSHはWindows Updateで更新され、Microsoftもこれを多くの利用者に勧めています。より新しい版が必要なときは、Microsoftが公開しているWin32-OpenSSHを使います。2026年10月時点の最新は10.0.0.0p2-Preview(2025年10月27日)で、配布元が「本番向けではないプレビュー」と明記しています(Win32-OpenSSHのリリース)。wingetのパッケージIDはMicrosoft.OpenSSH.Previewです。
winget install Microsoft.OpenSSH.Preview
上流の最新が10.6でも、Win32-OpenSSHの最新は10.0系です。10.5で加わったssh -Zや10.6の変更は、2026年10月時点のWin32-OpenSSHにはまだ入っていません。
Portable OpenSSHのソースビルド
公式ソース(openssh-10.6p1.tar.gz)からのビルドは、ディストリに無い機能がどうしても要る場合に限ります。10.5からPortable版は、暗号ライブラリ(libcrypto)を使ってビルドする場合、楕円曲線暗号(NISTP521を含む)への対応が必須になりました。--without-opensslでのビルドは対象外です(OpenSSH 10.5のリリースノート)。
tar -xzf openssh-10.6p1.tar.gz
cd openssh-10.6p1
./configure --prefix=/usr/local
make
sudo make install
OpenSSHのサポート期限(EOL)と更新の判断
OpenSSH本体には、OpenSSLのような版ごとのサポート期限はありません。2023年10月に開発者メーリングリストで「公開されたEOLスケジュールはあるか」と聞かれた際、開発者のDamien Millerは「No. We don’t ship a library, so the situation is different.」と答えています(openssh-unix-devの該当投稿)。修正は新しい版として出し、古い版への移植は各ディストリが担う、という分担です。
このため実務上の期限は、使っているOSのサポート期間です。判断の目安は次のとおりです。
- サポート中のディストリ:パッケージ更新を基本にし、版番号は追わない。そのうえで、気になる脆弱性はディストリのセキュリティトラッカー(Debianならopenssh の追跡ページ)で修正済みかを確かめる。未修正や修正延期のものもある。
- サポートが終わったOS:延長保守が無ければ、OpenSSHだけを自前で上げるのでなく、OSを更新する。
- 自前ビルドを避ける場面:
/usr/localに入れた版はパッケージ更新の対象外になり、次の脆弱性が出ても誰も直してくれません。OS標準のsshdとの二重起動や、PATHの順番で古い方が動く事故も起きます。自前ビルドを選ぶなら、以後の更新を自分で追う体制をセットで用意します。
社内に古いOpenSSHが残っていないかを外から洗い出すなら、前の章のバナー確認で版を集めるのが手早い方法です。対象が多い場合や、OpenSSH以外のサービスも含めて見たい場合は、脆弱性診断・セキュリティ診断で棚卸しを依頼する選択肢もあります。SSHへの総当たり攻撃を止める仕組みはFail2banとは?SSH総当たり攻撃を自動遮断する仕組みと設定・導入判断を実装目線で解説で扱っています。
10.4から10.6で修正された主な脆弱性
直近3版の修正には、クライアントだけを使う人にも関わるものが含まれます。主なものは次のとおりです。
- 10.4:悪意あるサーバが、sftpでのダウンロード先や、scpで2台のリモート間をコピーするときの書き込み先を、意図しない場所へずらせた問題を修正(OpenSSH 10.4のリリースノート)。
- 10.5:ssh-agentをロックしている間、転送先での利用を制限する仕組みが働かず、ローカル限定のはずの操作をリモートから実行できた問題を修正。
- 10.6:SSHの圧縮を有効にした接続で、1つのセッション内の別チャネルから平文を推測できる攻撃(2026年の論文「Crossing the Streams」)への対策として、圧縮の辞書(LZ77)を無効化。あわせて、コマンドラインで渡すユーザー名に
$と\を使えないようにした。
上流では10.4・10.5・10.6として出た修正ですが、ディストリは手元の版へ移植して配ります。たとえば10.5のssh-agentの修正は、Ubuntuの9.6p1などにも移植されました(USN-8721-1)。パッケージを使っている場合は、版番号ではなく各ディストリのセキュリティ情報で移植済みかを確かめます。
10.x系へ上げるときの非互換と設定の注意
9.x以前から10.x系へ上げると、次の変更で接続や運用が変わります。
- DSA鍵の削除(10.0):DSAは使えません。古い機器向けに残しているDSA鍵はEd25519などへ作り直します。鍵の種類の選び方はECDSAとRSAの違い|鍵長・安全性・速度・用途を比較し選び方を解説を参照してください。
- サーバの既定から有限体DHを削除(10.0):
diffie-hellman-group*系がsshdの既定から外れ、古いクライアントがつながらなくなることがあります。 - 版番号の照合(10.0):バナーが
SSH-2.0-OpenSSH_10.0になり、OpenSSH_1*のようなパターンで照合する監視スクリプトが誤判定します。 - 耐量子でない鍵交換への警告(10.1):既定の鍵交換は耐量子のmlkem768x25519-sha256です。耐量子でない鍵交換(curve25519-sha256など)が選ばれた接続では警告が出ます。
- agentソケットの移動(10.1):
/tmpから~/.ssh/agentの下へ移りました。旧パスを決め打ちしたスクリプトは直します。 - scp -Rの非推奨(10.6):リモートからリモートへのコピーで使う
-Rは、今は警告付きで動きますが、将来は無視されます。scpの使い方はSCPコマンドとは?基本構文・主要オプション・SSH越しの安全なファイル転送を実装者向けに解説【2026年版】にあります。 - mldsa44-ed25519鍵の作り直し(10.6):10.4の実験版で作った鍵は名前が変わったため使えません。
ssh-keygen -t mldsa44-ed25519で作り直します。10.6で作った公開鍵ファイルは、この検証環境(末尾のコメント込み)で1,867バイトで、Ed25519(100バイト前後)の約20倍の長さでした。
耐量子でない鍵交換の警告は、Ubuntu 26.04のクライアント(10.2p1)から、鍵交換をcurve25519-sha256に限ったsshdへつないで、次のように出ました。
debug1: kex: algorithm: curve25519-sha256
** WARNING: connection is not using a post-quantum key exchange algorithm.
** This session may be vulnerable to "store now, decrypt later" attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html
この警告は通信を止めません。直すべきはサーバ側です。OpenSSHは9.0からsntrup761x25519-sha512、9.9からmlkem768x25519-sha256に対応しているので、それより古ければ版を上げます。対応版なのに警告が出るときは、上の例のようにKexAlgorithmsで耐量子の方式が外されていないかを確かめます。相手を直せない場合だけ、~/.ssh/configの該当ホストにWarnWeakCrypto noを書いて抑えます(OpenSSHの耐量子暗号の解説)。更新の前後でssh -G ホスト名(クライアント)とsshd -T(サーバ)の出力を保存して差分を取ると、既定値が変わった項目を拾えます。10.4からsshd -Tの項目名が大文字小文字の混在に変わり(10.6はPort 22、9.6はport 22と出力)、そのままでは全行が差分になります。設定値にはユーザー名やパスのように大文字小文字を区別するものがあるので、そろえるのは行頭の項目名だけにします。
sudo sshd -T | awk '{ $1 = tolower($1); print }' | sort > sshd-after.txt
よくある質問
OpenSSHの最新バージョンはいくつですか?
2026年10月時点の最新は10.6(2026年10月6日公開)です。リリースの間隔が短くなっているため、最新の番号は公式サイトのリリースノートで確かめてください。
OpenSSHのバージョンを確認するコマンドは?
手元はssh -V(サーバはsshd -V)です。出力は標準エラーに出るので、パイプに渡すときは2>&1を付けます。接続先の版はssh-keyscanやncで取れるバナーで分かります。
OpenSSHにサポート期限(EOL)はありますか?
本体に公開されたサポート期限はありません。修正は新しい版として出し、古い版への修正の移植はディストリが行います。実際の期限は使っているOSのサポート期間です。
OpenSSH for Windowsの最新バージョンは?
Microsoftが公開しているWin32-OpenSSHの最新は10.0.0.0p2-Preview(2025年10月27日)で、本番向けではないプレビューです。通常はWindows Updateで更新される標準機能の版を使います。
OpenSSH 10.4から10.6へ上げるべきですか?
上流の版を自分で入れているなら上げるべきです。10.5でssh-agent、10.6でsftpのパス検証や圧縮の脆弱性が直っています。ディストリのパッケージを使っているなら、版番号は追わず、パッケージ更新で移植済みの修正を受け取ります。