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


17

全新安装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

key_load_public: invalid format
AB

请发布整个详细日志。
2015年

@Jakuje在问题中添加了详细输出。
亚历山大·泽特勒

我的意思是来自的详细日志scp,例如,scp -vvv file remote:file以查看ssh的上下文
Jakuje 2015年

@Jakuje再次更新-这足够吗?
亚历山大·泽特勒

Answers:


33

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

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

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

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

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub

主机密钥的可能性

另一种可能性是客户端试图读取的服务器公共密钥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

您的sshd服务器没有抱怨吗?


公共密钥和私有密钥时+ GitHub上使用他们的git例如是有效的
亚历山大·蔡特勒

编辑了答案。在某些情况下,服务器密钥也可能是原因。
2015年

2
那个以前在那里。我相信公共部分以某种方式被破坏。您可以尝试使用来从私钥重新生成新的公钥ssh-keygen -y ~/.ssh/id_rsa
2015年

3
从固定的公钥重新创建公钥-感谢您的帮助和耐心!请更新答案,以便将其标记为答案。
亚历山大·泽特勒

5
顺便说一句,我使用的命令是:ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
Alexander Zeitler,2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.