Windows環境にClaude Desktopをインストールして、codeにてubuntuサーバへのsshを設定してみたところ接続できなかった

pcuser@192.168.1.21に接続できませんでした
SSH 接続を確立できませんでした。ホストに到達可能であること、および SSH の設定が正しいことを確認してから、再試行してください。詳細なエラーは以下に表示されています。
Host denied (verification failed)
先にうちの事例での答えを書いておくと、原因は2つ
・WindowsのOpenSSHをインストールしていなかった
→ インストールした
・環境変数HOMEが未設定だったこと
→ 設定した
これで解決しました。
解決に至るまでの経緯として。以下にメモを残しておく
まずClaude Codeでのsshトラブルの際に、Claude code側のssh設定は以下で確認できる
Get-Content "$env:LOCALAPPDATA\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\ssh_configs.json"
設定ファイルをみてもまあわかることはないかな
実際のログを確認するには以下をPowerShellで実行して確認
Get-Content "$env:LOCALAPPDATA\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\logs\ssh.log" -Tail 60
今回は下記の様になっていた。
2026-08-11 22:28:06 [info] [ClaudeSSHManager] Initialized with version 5db5e4a12f88487e47c2c48259b69a2d630bb3f7
2026-08-11 22:28:08 [info] [RemoteServerController] Ensuring server is ready on pcuser@192.168.1.21 (trigger: warm_up)
2026-08-11 22:28:08 [info] [BinaryDeployment] Setting up remote server on pcuser@192.168.1.21
2026-08-11 22:28:08 [info] [SSH2Connection] Resolved pcuser@192.168.1.21 -> pcuser@192.168.1.21:22 (identityFiles: 0)
2026-08-11 22:28:08 [warn] [SSH2Connection] Host 192.168.1.21:22 is not in known_hosts
2026-08-11 22:28:08 [info] [SSH2Connection] Connecting to pcuser@192.168.1.21:22 (agent: none, keys: 1[ssh-ed25519], proxy: false, keyboard: true)
2026-08-11 22:28:08 [warn] [SSH2Connection] Rejecting host key for 192.168.1.21:22 — host is not in known_hosts
2026-08-11 22:28:08 [error] [SSH2Connection] Connection error: Host denied (verification failed)
2026-08-11 22:28:08 [error] [RemoteServerController] Connection failed (79ms, trigger: warm_up): Host denied (verification failed)
2026-08-11 22:28:11 [info] [RemoteServerController] Ensuring server is ready on pcuser@192.168.1.21 (trigger: send_message)
2026-08-11 22:28:11 [info] [BinaryDeployment] Setting up remote server on pcuser@192.168.1.21
2026-08-11 22:28:11 [info] [SSH2Connection] Resolved pcuser@192.168.1.21 -> pcuser@192.168.1.21:22 (identityFiles: 0)
2026-08-11 22:28:11 [warn] [SSH2Connection] Host 192.168.1.21:22 is not in known_hosts
2026-08-11 22:28:11 [info] [SSH2Connection] Connecting to pcuser@192.168.1.21:22 (agent: none, keys: 1[ssh-ed25519], proxy: false, keyboard: true)
2026-08-11 22:28:11 [warn] [SSH2Connection] Rejecting host key for 192.168.1.21:22 — host is not in known_hosts
2026-08-11 22:28:11 [error] [SSH2Connection] Connection error: Host denied (verification failed)
2026-08-11 22:28:11 [error] [RemoteServerController] Connection failed (46ms, trigger: send_message): Host denied (verification failed)
2026-08-11 22:28:19 [info] [RemoteServerController] Detaching (leaving daemon running)
2026-08-11 22:34:38 [info] [ClaudeSSHManager] Initialized with version 5db5e4a12f88487e47c2c48259b69a2d630bb3f7
2026-08-11 22:34:40 [info] [RemoteServerController] Ensuring server is ready on pcuser@192.168.1.21 (trigger: warm_up)
2026-08-11 22:34:40 [info] [BinaryDeployment] Setting up remote server on pcuser@192.168.1.21
2026-08-11 22:34:40 [info] [SSH2Connection] Resolved pcuser@192.168.1.21 -> pcuser@192.168.1.21:22 (identityFiles: 0)
2026-08-11 22:34:40 [warn] [SSH2Connection] Host 192.168.1.21:22 is not in known_hosts
2026-08-11 22:34:40 [info] [SSH2Connection] Connecting to pcuser@192.168.1.21:22 (agent: none, keys: 1[ssh-ed25519], proxy: false, keyboard: true)
2026-08-11 22:34:40 [warn] [SSH2Connection] Rejecting host key for 192.168.1.21:22 — host is not in known_hosts
2026-08-11 22:34:40 [error] [SSH2Connection] Connection error: Host denied (verification failed)
2026-08-11 22:34:40 [error] [RemoteServerController] Connection failed (109ms, trigger: warm_up): Host denied (verification failed)
注目すべき点は「identityFiles: 0」
ホームディレクトリにある.ssh\known_hosts には複数の定義があるのに、「0」と報告されている
何が問題かを確認するため、HOME関連の環境変数定義の状態を確認
"HOME = $env:HOME"
"USERPROFILE= $env:USERPROFILE"
"HOMEDRIVE = $env:HOMEDRIVE"
"HOMEPATH = $env:HOMEPATH"
そうしたら、HOMEが設定されていないことが判明
PS C:\Users\OSAKANATARO> "HOME = $env:HOME"
HOME =
PS C:\Users\OSAKANATARO> "USERPROFILE= $env:USERPROFILE"
USERPROFILE= C:\Users\OSAKANATARO
PS C:\Users\OSAKANATARO> "HOMEDRIVE = $env:HOMEDRIVE"
HOMEDRIVE = C:
PS C:\Users\OSAKANATARO> "HOMEPATH = $env:HOMEPATH"
HOMEPATH = \Users\OSAKANATARO
PS C:\Users\OSAKANATARO>
PS C:\Users\OSAKANATARO> [Environment]::SetEnvironmentVariable("HOME", $env:USERPROFILE, "User")
設定後、Windows再起動
PS C:\Users\OSAKANATARO> "HOME = $env:HOME"
HOME = C:\Users\OSAKANATARO
PS C:\Users\OSAKANATARO> "USERPROFILE= $env:USERPROFILE"
USERPROFILE= C:\Users\OSAKANATARO
PS C:\Users\OSAKANATARO> "HOMEDRIVE = $env:HOMEDRIVE"
HOMEDRIVE = C:
PS C:\Users\OSAKANATARO> "HOMEPATH = $env:HOMEPATH"
HOMEPATH = \Users\OSAKANATARO
PS C:\Users\OSAKANATARO>
しかし、結果は変わらず
Claude自身に思考させるとSysteminternalのプロセス モニターで確認しろとのこと
Procmon64.exe を管理者実行。
Ctrl+Lでフィルタを開くPathcontainsssh→ Add → OKCtrl+Xで既存イベントをクリア- Claude Desktop で接続を試行
Ctrl+Eでキャプチャ停止
なんかssh.exe を捜索してるログがたくさん・・・
Windows提供のOpenSSHを入れろとのこと
「Get-WindowsCapability -Online -Name OpenSSH.Client*」を実行して確認。
PS C:\Users\OSAKANATARO> Get-WindowsCapability -Online -Name OpenSSH.Client*
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
DisplayName : OpenSSH クライアント
Description : OpenSSH ベースのセキュア シェル (SSH) クライアントで、セキュアなキー管理とリモート マシンへのアクセスを
可能にします。
DownloadSize : 0
InstallSize : 0
PS C:\Users\OSAKANATARO>
「NotPresent」とインストールされていないので「Add-WindowsCapability -Online -Name OpenSSH.Client」でインストールする
PS C:\Users\OSAKANATARO> Add-WindowsCapability -Online -Name OpenSSH.Client
Path :
Online : True
RestartNeeded : False
PS C:\Users\OSAKANATARO> Get-WindowsCapability -Online -Name OpenSSH.Client*
Name : OpenSSH.Client~~~~0.0.1.0
State : Installed
DisplayName : OpenSSH クライアント
Description : OpenSSH ベースのセキュア シェル (SSH) クライアントで、セキュアなキー管理とリモート マシンへのアクセスを
可能にします。
DownloadSize : 0
InstallSize : 7995927
PS C:\Users\OSAKANATARO>
で・・・再起動しないでClaude Codeの再チャレンジをしてみたところ、今度は成功しました
成功した時のsshログは以下
PS C:\Users\OSAKANATARO> Get-Content "$env:LOCALAPPDATA\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\logs\ssh.log" -Tail 30 -Encoding utf8
<略>
2026-08-11 23:20:24 [info] [RemoteServerController] Ensuring server is ready on pcuser@192.168.1.21 (trigger: send_message)
2026-08-11 23:20:24 [info] [BinaryDeployment] Setting up remote server on pcuser@192.168.1.21
2026-08-11 23:20:24 [info] [SSH2Connection] Resolved pcuser@192.168.1.21 -> pcuser@192.168.1.21:22 (identityFiles: 7)
2026-08-11 23:20:24 [info] [SSH2Connection] Connecting to pcuser@192.168.1.21:22 (agent: none, keys: 1[ssh-ed25519], proxy: false, keyboard: true)
2026-08-11 23:20:24 [info] [SSH2Connection] ssh2: Outbound: Sending SERVICE_REQUEST (ssh-userauth)
2026-08-11 23:20:24 [info] [SSH2Connection] ssh2: Inbound: Received SERVICE_ACCEPT (ssh-userauth)
2026-08-11 23:20:24 [info] [SSH2Connection] ssh2: Outbound: Sending USERAUTH_REQUEST (none)
2026-08-11 23:20:24 [info] [SSH2Connection] ssh2: Inbound: Received USERAUTH_FAILURE (publickey,password)
2026-08-11 23:20:24 [info] [SSH2Connection] ssh2: Client: none auth failed
2026-08-11 23:20:24 [info] [SSH2Connection] ssh2: Outbound: Sending USERAUTH_REQUEST (publickey -- check)
2026-08-11 23:20:24 [info] [SSH2Connection] ssh2: Inbound: Received USERAUTH_PK_OK
2026-08-11 23:20:24 [info] [SSH2Connection] ssh2: Outbound: Sending USERAUTH_REQUEST (publickey)
2026-08-11 23:20:25 [info] [SSH2Connection] ssh2: Inbound: Received USERAUTH_SUCCESS
2026-08-11 23:20:25 [info] [SSH2Connection] Connected to pcuser@192.168.1.21:22
2026-08-11 23:20:25 [info] [BinaryDeployment] Remote: home=/home/pcuser, platform=linux-amd64, shell=posix, localVer=5db5e4a12f88487e47c2c48259b69a2d630bb3f7
2026-08-11 23:20:25 [info] [BinaryDeployment] Server binary up to date (5db5e4a12f88487e47c2c48259b69a2d630bb3f7), skipping upload
2026-08-11 23:20:25 [info] [BinaryDeployment] CLI v2.1.222 cached
2026-08-11 23:20:26 [info] [BinaryDeployment] Remote server started
2026-08-11 23:20:26 [info] [BinaryDeployment] Bridge channel opened
2026-08-11 23:20:26 [info] [RemoteServerController] server capabilities: version=5db5e4a12f88487e47c2c48259b69a2d630bb3f7, methods=19, features=[process.stdin.offset]
2026-08-11 23:20:26 [info] [RemoteServerController] Connected to remote server (1557ms, trigger: send_message, reused: false)
PS C:\Users\OSAKANATARO>
ちゃんと「identityFiles: 7」と.ssh\known_hosts に登録されているホストの数が認識されていました