web-dev-qa-db-ja.com

ssh key_load_public:無効な形式の警告

システムへのSSH接続は成功しますが、-vフラグがなくてもkey_load_public: invalid formatメッセージが表示されます。以下は、verboseフラグを使用した出力です。

具体的には

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

私はそのようなファイルを持っていないので問題のようです。ただし、別のシステムでチェックしたところ、上記と同じ2行が表示されました。ただし、その前にkey_load_public: invalid formatはありません。これは、私が実際に取り除きたいものです。両方のリモートシステムのauthorized_keysファイルの権限は同じに見え、private_keysの権限も同じに見えます。

    $ 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: [email protected] compression: none
    debug1: kex: client->server cipher: aes128-ctr MAC: [email protected] 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 [email protected]
    debug1: Entering interactive session.
    debug1: pledge: network
7
hiandbaii

2つの別個のメッセージがあります。

これは、.ssh/private_rsa_keyの形式が間違っていることを示しています。

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

これは-vスイッチなしでは表示されず、証明書がないことを通知するだけです。

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

2番目のメッセージについて心配する必要はありません。

3
Jakuje

私が発行したとき

ssh myid@mydomain

メッセージが表示されました(リモートボックスに正常にログインした場合でも)

key_load_public: invalid format

これは、リモートホストがファイル〜myid/.ssh/authorized_keys SO =解決策は、ローカルの〜/ .ssh/xxx.pubを修正して、公開鍵が含まれるようにすることでした

2
Scott Stensland

これは、.sshフォルダーにRSAおよびDSAキーがあったために起こりました。 DSAキーはシステムで受け入れられなくなったので、削除してメッセージを破棄しました。

0

私はようやく、RSA秘密鍵の内容を正確にコピーして貼り付けることに成功しました。

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

すべてのEOLタブまたはそこにあったものをすべて含みます。

0
Andrew Roe

-iオプションを使用すると、scpとsshでこの警告メッセージが表示されました。原因は公開鍵ファイルに余分であることがわかりました。私のpub鍵ファイルには、「wc -l」を含む2行がありました。私は余分を削除しました、そして今それは「wc -l」で1行だけを持ち、警告メッセージはありません。 sshとscpが警告メッセージの有無にかかわらず正しく機能したことを明確にする必要があります。

0
Rod Melton