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


27

しばらくの間、サーバーで公開鍵認証を使用していますが、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

前もって感謝します。


@jasonwryan、コメントを回答に移動してください。あなたが正しいと確信しています。
andcoz

それは少し些細なことであり、私はこれに早く気づかないのは馬鹿ですが、あなたの答えが将来他の人の助けになることを願っています。
earthmeLon

回答:


26

IdentityFileオプションを使用するときは、公開~/.ssh/configはなく秘密鍵をポイントします。

から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

2
私はそのようなdoofusです。私の唯一の恵みは、これが将来他の「doofuses」を助けるかもしれないということです。
earthmeLon

1
間違いを犯すのは簡単です
...-jasonwryan

1
私を助けてくれたので、答えに感謝します!
トファーファンジオ14年

1
私にdoofusを着色します。
エレミヤ

これは私のためにやった。
unity100

2

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


1
似たようなことが私に起こりました。別の端末からキーをコピーし、気づかずにコピーしすぎました。
ギジェルモ

1

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

この問題は、OpenSSH <6.5(実行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: ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,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,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96
debug2: kex_parse_kexinit: hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib@openssh.com,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: curve25519-sha256@libssh.org,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,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit: none,zlib@openssh.com

最初のブロックは、どのようなクライアントのサポート、及び第二のどのサーバーがサポートを説明します。ご覧のように、上半分には「curve25519」の記載はなく、クライアントがそれをサポートしていないことを示しています。


0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.