key_load_public:Ubuntu 15.10 上的 scp 或 git clone 格式无效

Ale*_*ler 20 git openssh 15.10

在全新安装 Ubuntu 15.10 后,使用scp或 时git clone,我收到以下警告(命令本身不会失败):key_load_public: invalid format

我怎样才能摆脱这个警告?

更新:这是输出scp -vvv

OpenSSH_6.9p1 Ubuntu-2, OpenSSL 1.0.2d 9 Jul 2015
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to ... [...] port 22.
debug1: Connection established.
key_load_public: invalid format
debug1: identity file /home/alexzeitler/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9p1 Ubuntu-2
Run Code Online (Sandbox Code Playgroud)

Jak*_*uje 35

检查文件/Users/alexzeitler/.ssh/id_rsa。还有什么?它是如何到达那里的?

它应该是您的私人 RSA 密钥,不是吗?里面有东西/Users/alexzeitler/.ssh/id_rsa.pub吗?它是有效的公钥吗?

如果您不使用这些键,请将它们都删除,消息就会消失。如果您以不同的方式使用它们,请将它们移到其他地方。如果它们采用不同的格式,则相同。

公共部分可能已损坏,因此您可以使用以下命令从私有部分重新创建它:

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

###hostkeys 可能性 另一种可能性是客户端正在尝试读取HostBasedAuthentication. 你不让进/etc/ssh/ssh_config吗?

这将是以下文件之一丢失或损坏:

/etc/ssh/ssh_host_ecdsa_key.pub
/etc/ssh/ssh_host_ed25519_key.pub
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_rsa_key.pub
Run Code Online (Sandbox Code Playgroud)

您的sshd服务器没有抱怨?

  • 顺便说一句,我使用的命令是:`ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub` (5认同)
  • 从私人修复它重新创建公钥 - 感谢您的帮助和耐心!请更新答案,以便我可以将其标记为答案。 (3认同)
  • 那个以前就在那里。我相信公共部分以某种方式被破坏了。您可以尝试使用 `ssh-keygen -y ~/.ssh/id_rsa` 从私有密钥重新生成新的公钥。 (2认同)