Windows版Claude DesktopのcodeでUbuntuへのsshが失敗する

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 を管理者実行。

  1. Ctrl+L でフィルタを開く
  2. Path contains ssh → Add → OK
  3. Ctrl+X で既存イベントをクリア
  4. Claude Desktop で接続を試行
  5. 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 に登録されているホストの数が認識されていました

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください