ssh key_load_public: cảnh báo định dạng không hợp lệ


8

SSH vào hệ thống của tôi thành công nhưng ngay cả khi không có -vcờ tôi cũng nhận được key_load_public: invalid formattin nhắn. Dưới đây là đầu ra w / sử dụng cờ verbose.

Đặc biệt

debug1: key_load_public: No such file or directory debug1: identity file /home/myname/.ssh/private_rsa_key-cert type -1

dường như là vấn đề vì tôi không có một tập tin như vậy. Tuy nhiên, tôi đã kiểm tra w / hệ thống khác và tôi cũng nhận được hai dòng trên. Tuy nhiên không có key_load_public: invalid formattrước đó, đó là những gì tôi thực sự muốn thoát khỏi. Quyền trên tệp ủy quyền trên cả hai hệ thống từ xa trông giống nhau, quyền trên private_keys cũng giống nhau.

    $ ssh -v desired_host
    OpenSSH_7.2p2, OpenSSL 1.0.2g  1 Mar 2016
    debug1: Reading configuration data /home/myname/.ssh/config
    debug1: /home/dli/.ssh/config line 16: Applying options for desired_host
    debug1: Reading configuration data /etc/ssh_config
    debug1: Connecting to desired_host [X.X.X.X] port 22.
    debug1: Connection established.
    key_load_public: invalid format
    debug1: identity file /home/myname/.ssh/private_rsa_key type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /home/myname/.ssh/private_rsa_key-cert type -1
    debug1: Enabling compatibility mode for protocol 2.0
    debug1: Local version string SSH-2.0-OpenSSH_7.2
    debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
    debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
    debug1: Authenticating to desired_host:22 as 'myname'
    debug1: SSH2_MSG_KEXINIT sent
    debug1: SSH2_MSG_KEXINIT received
    debug1: kex: algorithm: diffie-hellman-group-exchange-sha256
    debug1: kex: host key algorithm: ssh-rsa
    debug1: kex: server->client cipher: aes128-ctr MAC: umac-64@openssh.com compression: none
    debug1: kex: client->server cipher: aes128-ctr MAC: umac-64@openssh.com compression: none
    debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(2048<3072<8192) sent
    debug1: got SSH2_MSG_KEX_DH_GEX_GROUP
    debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
    debug1: got SSH2_MSG_KEX_DH_GEX_REPLY
    debug1: Server host key: ssh-rsa SHA256:EmG/FBK0OCXtaAqAkfHKxoXKLGiZiHUsQpObK6aWd30
    debug1: Host 'desired_host' is known and matches the RSA host key.
    debug1: Found key in /home/myname/.ssh/known_hosts:39
    debug1: rekey after 4294967296 blocks
    debug1: SSH2_MSG_NEWKEYS sent
    debug1: expecting SSH2_MSG_NEWKEYS
    debug1: rekey after 4294967296 blocks
    debug1: SSH2_MSG_NEWKEYS received
    debug1: SSH2_MSG_SERVICE_ACCEPT received
    debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
    debug1: Next authentication method: publickey
    debug1: Trying private key: /home/myname/.ssh/private_rsa_key
    debug1: Authentication succeeded (publickey).
    Authenticated to desired_host ([X.X.X.X]:22).
    debug1: channel 0: new [client-session]
    debug1: Requesting no-more-sessions@openssh.com
    debug1: Entering interactive session.
    debug1: pledge: network

nhận được "tải pubkey .... định dạng không hợp lệ" tương tự, hơi khác nhau, đặt điều này ở đây cho các công cụ tìm kiếm vì có 0 kết quả cho truy vấn đó.
Elijah Lynn

Câu trả lời:


3

Có hai tin nhắn riêng biệt:

Điều này cho bạn biết đó .ssh/private_rsa_keylà định dạng sai:

key_load_public: invalid format
debug1: identity file /home/myname/.ssh/private_rsa_key type -1

Cái này không xuất hiện mà không có -vcông tắc và chỉ là thông tin để nói với bạn rằng bạn không có chứng chỉ:

debug1: key_load_public: No such file or directory
debug1: identity file /home/myname/.ssh/private_rsa_key-cert type -1

Không có gì phải lo lắng về tin nhắn thứ hai.


1
Làm thế nào để một khóa riêng được định dạng không hợp lệ vẫn còn hiệu lực? Không phải là một chìa khóa chính xác hay không chính xác? (Tôi đã kiểm tra các EOL trong cả khóa riêng và cả hai đều không sử dụng trả lại xe ngựa)
hiandbaii

Đây là một lỗi chung. Nó có thể là bất cứ điều gì. Làm thế nào để tiêu đề của tập tin trông như thế nào?
Jakuje

----- BEGIN RSA PRIVATE KEY -----
hiandbaii

Chủ đề này có vẻ không đầy đủ. Điều gì đã xảy ra sau khi @hiandbaii bạn tiết lộ rằng bạn có ----- BEGIN RSA PRIVATE KEY ----- làm tiêu đề của id_rsatệp? Tôi cũng nhận được lỗi tương tự key_load_public: invalid format. Nhưng giải pháp có vẻ lảng tránh.
dùng30994

2

khi tôi ban hành

ssh myid@mydomain

và nhận được tin nhắn (mặc dù tôi đã đăng nhập thành công vào hộp từ xa)

key_load_public: invalid format

nó đã xảy ra bởi vì bằng cách nào đó, cục bộ của tôi .ssh / xxx.pub để nó có khóa công khai của tôi


Bạn đã nhân rộng vấn đề? Có vẻ như rất khó nếu bạn sao chép khóa riêng vào tệp khóa chung, kết nối ssh sẽ được thực hiện.
dùng30994

Bạn đã có cả hai công khai và riêng tư ở đó? Đó là cách nó có thể đã làm việc cho bạn - tức là kết hợp bên phải, bỏ qua cái sai?
KolonUK

1
đó thực sự là trường hợp. Đáng kinh ngạc!
Mario

0

Cuối cùng tôi đã thành công bằng cách chắc chắn sao chép và dán CHÍNH XÁC nội dung của khóa RSA riêng, vd

-----BEGIN RSA PRIVATE KEY-----
<content>.....
-----END RSA PRIVATE KEY-----

bao gồm tất cả các tab EOL hoặc bất cứ điều gì đã có.


Không có EOL sau-----END RSA PRIVATE KEY-----
user30994

0

Tôi đã có thông báo cảnh báo này với scp và ssh khi tôi sử dụng tùy chọn -i. Tôi thấy rằng nguyên nhân là thêm trong tập tin khóa công khai. tập tin khóa pub của tôi có 2 dòng với 'wc -l'; tôi đã xóa thêm và bây giờ nó chỉ có 1 dòng với 'wc -l' và không có tin nhắn cảnh báo. Tôi nên làm rõ rằng ssh và scp hoạt động chính xác với và không có thông báo cảnh báo.


Tôi đã ở trong hoàn cảnh tương tự. Nguyên nhân là do sử dụng cờ -i id_rsa, khi id_rsa.pub cũng tồn tại và có các tùy chọn (như "no-pty") ở đầu dòng. Xóa các tùy chọn đó hoặc xóa toàn bộ tệp khiến cảnh báo biến mất. Trong mọi trường hợp, tập tin không bao giờ cần thiết để đăng nhập. Nói tóm lại, có vẻ như thứ tìm kiếm tệp * .pub liền kề với tệp bạn chỉ định bằng cờ -i không biết cách xử lý các tùy chọn.
Archie

0

Điều này xảy ra với tôi vì tôi đã có khóa RSA & DSA vào thư mục .ssh của mình. Khóa DSA không còn được chấp nhận trên hệ thống, vì vậy tôi chỉ xóa nó và thông báo không được chấp nhận.

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.