疑問に思ったのですが、plink はデフォルトの秘密鍵ファイルをどこから取得するのでしょうか?
キー ファイルを指定しない場合は、常に次の秘密キー ファイルが選択されます。
C:\putty\digitalocean.ppk
Pageant が 1 つの Github 秘密鍵ファイル (C:\putty\github2.ppk にある) のみをロードするように設定しているにもかかわらず、
どういうわけか、PlinkはいつもC:\putty\digitalocean.ppk
私は持っている
- Puttyを再インストールする
- すべて削除
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 によって検出されるはずです。