Plink は常に間違ったデフォルトのキーファイルを読み取ります

Plink は常に間違ったデフォルトのキーファイルを読み取ります

疑問に思ったのですが、plink はデフォルトの秘密鍵ファイルをどこから取得するのでしょうか?

キー ファイルを指定しない場合は、常に次の秘密キー ファイルが選択されます。

C:\putty\digitalocean.ppk

Pageant が 1 つの Github 秘密鍵ファイル (C:\putty\github2.ppk にある) のみをロードするように設定しているにもかかわらず、

どういうわけか、PlinkはいつもC:\putty\digitalocean.ppk

私は持っている

  1. Puttyを再インストールする
  2. すべて削除C:\Users\yccheok\.ssh

それでも、私は

C:\Users\yccheok>plink.exe -v [email protected]
Looking up host "github.com" for SSH connection
Connecting to 20.205.243.166 port 22
We claim version: SSH-2.0-PuTTY_Release_0.76
Connected to 20.205.243.166
Remote version: SSH-2.0-babeld-e1420b26
Using SSH protocol version 2
No GSSAPI security context available
Doing ECDH key exchange with curve Curve25519 and hash SHA-256 (unaccelerated)
Server also has ecdsa-sha2-nistp256/rsa-sha2-512/rsa-sha2-256/ssh-rsa host keys, but we don't know any of them
Host key fingerprint is:
ssh-ed25519 255 SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU
Initialised AES-256 SDCTR (AES-NI accelerated) outbound encryption
Initialised HMAC-SHA-256 (unaccelerated) outbound MAC algorithm
Initialised AES-256 SDCTR (AES-NI accelerated) inbound encryption
Initialised HMAC-SHA-256 (unaccelerated) inbound MAC algorithm
Reading key file "C:\putty\digitalocean.ppk"
Pageant is running. Requesting keys.
Pageant has 2 SSH-2 keys
Pageant key #0 matches configured key file
Using username "git".
Trying Pageant key #0
Server refused our key
Offered public key
Server refusServer refused our key
ed our key
No supported authentication methods available (server sent: publickey)
FATAL ERROR: No supported authentication methods available (server sent: publickey)

なぜそうなるのか教えてください。どうすれば、plink が Pageant にロードされた秘密鍵ファイルを確実に取得できるでしょうか。

答え1

IIRC plink は PuTTy 設定を使用します。これらはレジストリに保存され、PuTTy をアンインストールしても削除されません。

レジストリ内の場所:

Computer\HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Default%20Settings

レジストリ設定を手動で編集するか、PuTTY を開いて、デフォルト設定からキーを削除し、名前で再度保存することができますDefault Settings

場所: 接続 -> SSH -> 認証

これも plink によって検出されるはずです。

関連情報