ssh: id_rsa không hoạt động, nhưng nếu tôi đổi tên nó, nó hoạt động


10

Tôi có id_rsa này trong thư mục ~ / .ssh của tôi. Nhưng nó không xác thực. Nếu tôi sao chép nó và đổi tên nó thành bất cứ thứ gì không phải id_rsa, nó sẽ hoạt động.

[qfan@mycomputer .ssh]$ ls -al id_rsa id_rsa_good
-rw------- 1 qfan qfan 1766 Dec  3 18:35 id_rsa
-rw------- 1 qfan qfan 1766 Nov 20 19:43 id_rsa_good
[qfan@mycomputer .ssh]$ sha1sum id_rsa id_rsa_good
8cc7f68170038b184bba0541be7d105bb36f7d11  id_rsa
8cc7f68170038b184bba0541be7d105bb36f7d11  id_rsa_good
[qfan@mycomputer .ssh]$ ssh localhost -i id_rsa
qfan@localhost's password: 

[qfan@mycomputer .ssh]$ ssh localhost -i id_rsa_good
Enter passphrase for key 'id_rsa_good': 
Last login: Tue Dec  3 18:46:46 2013 from 127.0.0.1
[qfan@mycomputer ~]$ exit
logout
Connection to localhost closed.

Lưu ý rằng "ssh localhost -i id_rsa" không thành công và ssh bắt đầu yêu cầu đăng nhập mật khẩu thông thường.

Tôi đã sử dụng -vvv và đây là khác biệt của các bản ghi:

[qfan@mycomputer .ssh]$ ssh localhost -i id_rsa_good -vvv 2> log1_good.txt
Enter passphrase for key 'id_rsa_good': 

[qfan@mycomputer .ssh]$ ssh localhost -i id_rsa -vvv 2> log2_bad.txt
qfan@localhost's password: 

[qfan@mycomputer .ssh]$ diff log1_good.txt log2_bad.txt 
7c7
< debug3: Not a RSA1 key file id_rsa_good.
---
> debug3: Not a RSA1 key file id_rsa.
41c41
< debug1: identity file id_rsa_good type -1
---
> debug1: identity file id_rsa type 1
81,82c81,82
< debug2: dh_gen_key: priv key bits set: 126/256
< debug2: bits set: 533/1024
---
> debug2: dh_gen_key: priv key bits set: 127/256
> debug2: bits set: 503/1024
90c90
< debug2: bits set: 506/1024
---
> debug2: bits set: 539/1024
103c103
< debug2: key: id_rsa_good ((nil))
---
> debug2: key: id_rsa (0x7f953ea96f90)
136,138c136,145
< debug1: Trying private key: id_rsa_good
< debug1: PEM_read_PrivateKey failed
< debug1: read PEM private key done: type <unknown>
---
> debug1: Offering public key: id_rsa
> debug3: send_pubkey_test
> debug2: we sent a publickey packet, wait for reply
> debug3: Wrote 368 bytes for a total of 1477
> debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
> debug2: we did not send a packet, disable method
> debug3: authmethod_lookup password
> debug3: remaining preferred: ,password
> debug3: authmethod_is_enabled password
> debug1: Next authentication method: password
[qfan@mycomputer .ssh]$ 

Tôi cũng đã thử xóa cụm mật khẩu khỏi tệp chính, nhưng nó vẫn không hoạt động nếu được đặt tên là id_rsa.

Vì vậy, những gì đã đi sai ở đó?

-------BIÊN TẬP-------

[qfan@mycomputer .ssh]$ file id_rsa
id_rsa: ASCII text
[qfan@mycomputer .ssh]$ cat id_rsa |head -n2
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

1
Bạn có chắc tệp chứa khóa RSA không? Nó trông giống như khi nó được đặt tên id_rsa ssh giả sử đó là khóa rsa (loại 1), nhưng khi bạn đặt tên là id_rsa_good thì không chắc chắn (loại -1).
mfarver

1
Bạn có thể chạy file id_rsavà cho chúng tôi xem đầu ra? Nếu nó không phải là một cái gì đó rất giống id_rsa: PEM RSA private key, mfarver có thể có một điểm!
MadHatter

Đó là tệp văn bản: [qfan @ mycomputer .ssh] $ file id_rsa id_rsa: văn bản ASCII [qfan @ mycomputer .ssh] $ cat id_rsa | head -n2 ----- BEGIN RSA PRIVATE KEY ----- Proc-Type: 4, ENCRYPTED
Qi Fan

Câu trả lời:


12

Tìm thấy lý do. id_rsa.pubTệp của tôi trong cùng một .sshthư mục là khóa công khai thuộc về một tệp nhận dạng khác. Khi id_rsa.pubkhông khớp, id_rsa,nó sẽ tự động thất bại. Loại bỏ hoặc di chuyển các id_rsa.pubtập tin làm cho id_rsacông việc.


1
Tôi rất muốn hiểu tại sao lại như vậy ...
David Resnick

2
@DavidResnick Tôi đã đưa ra câu trả lời cho câu hỏi đó trong serverfault.com/a/587560/214507
kasperd
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.