SSH yêu cầu cụm mật khẩu trên khóa chung không có cụm mật khẩu


27

Tôi đã sử dụng xác thực khóa công khai trên các máy chủ của mình một thời gian rồi, nhưng tôi đang gặp sự cố trên một 'khách hàng' mới đang cố gắng kết nối với github . Tôi đã đọc nhiều luồng để xác minh rằng các quyền của tôi được thiết lập chính xác và đã tạo một khóa mới cho github. Vấn đề tôi gặp phải là ssh đang yêu cầu cụm mật khẩu của tôi mặc dù tôi không đặt cụm mật khẩu. Tôi thậm chí đã tạo lại khóa để chắc chắn 100% rằng tôi đã không nhập cụm mật khẩu.

ssh -vvv cung cấp đầu ra liên quan sau:

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': 

Tôi đã tìm kiếm để tìm ra lý do tại sao nó nói với tôi PEM_read_PrivateKey không thành công, nhưng tôi không thể tìm ra giải pháp.

Tôi không sử dụng một đại lý hoặc bất cứ điều gì. Tôi định cấu hình tệp ~ / .ssh / config tương tự như sau:

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

Cảm ơn trước.


@jasonwryan, vui lòng chuyển bình luận của bạn để trả lời. Tôi khá chắc chắn rằng bạn đúng.
andcoz

Đó là một chút tầm thường, và tôi là một kẻ ngốc vì đã không nhận thấy điều này sớm hơn, nhưng hy vọng câu trả lời của bạn sẽ cung cấp trợ giúp cho những người khác trong tương lai.
earthmeLon

Câu trả lời:


26

Khi bạn sử dụng IdentityFiletùy chọn trong bạn, ~/.ssh/configbạn trỏ đến khóa riêng, không phải khóa công khai .

Từ man ssh_config:

IdentityFile
Chỉ định một tệp mà từ đó nhận dạng xác thực DSA, ECDSA hoặc DSA của người dùng được đọc. Mặc định là ~ / .ssh / nhận dạng cho giao thức phiên bản 1 và ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa và ~ / .ssh / id_rsa cho giao thức phiên bản 2.

Vì vậy, ~/.ssh/configmục nhập của bạn sẽ giống như:

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

2
Tôi là một kẻ ngốc nghếch. Ân sủng duy nhất của tôi là điều này có thể giúp các 'doofuses' khác trong tương lai.
earthmeLon

1
Đó là một sai lầm đủ dễ để thực hiện ...
jasonwryan

1
Chỉ giúp tôi, vì vậy tôi đánh giá cao câu trả lời!
Topher Fangio

1
Tô màu cho tôi một doofus.
jeremiah

Điều này đã làm iit cho tôi.
unity100

2

Chúng tôi đã có vấn đề này, và đó là một lỗi cắt và dán. Một %biểu tượng duy nhất đã được thêm vào cuối tệp chính (vì vậy dòng cuối cùng là -----END RSA PRIVATE KEY-----%). Không có lỗi hoặc thông tin gỡ lỗi hoặc bất cứ điều gì khác để đề xuất rằng khóa có độ dài sai hoặc được định dạng sai, nhưng ssh yêu cầu một cụm mật khẩu.


1
Điều tương tự xảy ra với tôi. Tôi đã sao chép khóa từ một thiết bị đầu cuối khác và sao chép quá nhiều mà không nhận thấy nó.
Guillermo

1

Trong trường hợp của tôi, vấn đề là máy khách SSH của tôi không hỗ trợ các khóa ED25519. Giải pháp là tạo khóa RSA và sử dụng nó thay thế.

Sự cố này xảy ra với OpenSSH <6.5 (chạy ssh -V) và PuTTY <0.68 .

Điều này có thể được nhìn thấy trong đầu ra sau đây của 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

Khối đầu tiên mô tả những gì khách hàng hỗ trợ và thứ hai những gì máy chủ hỗ trợ . Như bạn có thể thấy, không có đề cập đến 'cur25519' ở nửa trên, cho thấy khách hàng không hỗ trợ điều đó.


0

Trong nhóm của tôi, khi điều này xảy ra, nó không phải là vấn đề với bất cứ điều gì tại địa phương. Khóa ssh và / hoặc quyền truy cập của người dùng chưa được định cấu hình chính xác trên máy chủ mà họ đang kết nối (trong trường hợp của chúng tôi là nền tảng lưu trữ). Vì một số lý do, điều này kích hoạt một dấu nhắc cho khóa ssh không tồn tại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.