web-dev-qa-db-ja.com

パスフレーズが設定されていないSSHが公開鍵のパスフレーズを要求しています

サーバーで公開鍵認証をしばらく使用していますが、 github に接続しようとする新しい「クライアント」で問題が発生しています。多くのスレッドを読んで、権限が正しく設定されていることを確認し、githubの新しいキーを生成しました。私が直面している問題は、パスフレーズを設定していなくても、sshがパスフレーズを要求していることです。パスフレーズを入力しなかったことを100%確認するためにキーを作り直しました。

ssh -vvvは、次の関連出力を提供します。

debug1: Offering public key: /home/me/.ssh/github.pub
debug2: we sent a publickey packet, wait for reply
debug3: Wrote 368 bytes for a total of 1495
debug1: Remote: Forced command: gerve mygithubusername c3:71:db:34:98:30:6d:c2:ca:d9:51:a8:c6:1b:fc:f7
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: fp c3:71:db:34:98:30:6d:c2:ca:d9:51:a8:c6:1b:fc:f7
debug3: sign_and_send_pubkey
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/me/.ssh/github.pub': 

PEM_read_PrivateKeyが失敗した理由を見つけるために検索しましたが、解決策が見つかりません。

エージェントなどは一切使用していません。 〜/ .ssh/configファイルを次のように構成します。

Host github
Host github.com
Hostname github.com
User git
PubkeyAuthentication yes
IdentityFile /home/me/.ssh/github.pub

前もって感謝します。

27
earthmeLon

~/.ssh/configIdentityFileオプションを使用する場合は、プライベートキーpublicではないを指定します。

man ssh_configから:

IdentityFile
ユーザーのDSA、ECDSA、またはDSA認証IDが読み取られるファイルを指定します。デフォルトは、プロトコルバージョン1の場合は〜/ .ssh/identity、プロトコルバージョン2の場合は〜/ .ssh/id_dsa、〜/ .ssh/id_ecdsaおよび〜/ .ssh/id_rsaです。

したがって、~/.ssh/configエントリは次のようになります。

Host github.com
Hostname github.com
User git
PubkeyAuthentication yes
IdentityFile /home/me/.ssh/github
26
jasonwryan

この問題があり、カットアンドペーストエラーでした。独身者 %記号がキーファイルの最後に追加されました(したがって、最後の行は-----END RSA PRIVATE KEY-----%)。エラーやデバッグ情報など、キーの長さが間違っていたり、形式が正しくなかったことを示唆するものはありませんでしたが、sshはパスフレーズを要求しました。

2
andrew lorien

私の場合、問題はSSHクライアントがED25519キーをサポートしていないことでした。解決策は、RSAキーを作成し、代わりに使用することです。

この問題は OpenSSH <6.5 (run ssh -V)および PuTTY <0.68 で発生します。

これは、次のssh -vvvの出力で確認できます。

debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,[email protected]
debug2: kex_parse_kexinit: hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96
debug2: kex_parse_kexinit: hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ssh-ed25519
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: none,[email protected]

最初のブロックはクライアントがサポートするものを説明し、2番目はサーバーがサポートするもの です。ご覧のとおり、上半分には 'curve25519'の記述がありません。これは、クライアントがそれをサポートしていないことを示しています。

1
user60561

私のチームでは、これが発生しても、ローカルでは何の問題もありません。ユーザーのsshキーまたはアクセス、あるいはその両方が、ユーザーが接続しているサーバー(この場合はホスティングプラットフォーム)で正しく構成されていません。何らかの理由で、これにより、存在しないsshキーのプロンプトがトリガーされます。

0
ognockocaten