key_load_public: niepoprawny format z scp lub git clone na Ubuntu 15.10

17

Po nowej instalacji Ubuntu 15.10, podczas używania scplub , pojawia git clonesię następujące ostrzeżenie (samo polecenie nie kończy się niepowodzeniem):key_load_public: invalid format

Jak mogę pozbyć się tego ostrzeżenia?

Aktualizacja: To jest wynik 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
Alexander Zeitler
źródło
Powinno być więcej niżkey_load_public: invalid format
AB
proszę zamieścić cały pełny dziennik.
Jakuje
@Jakuje Dodano pełne wyjście do pytania.
Alexander Zeitler,
Miałem na myśli raczej pełny log z scp, taki jak scp -vvv file remote:filemniej więcej, aby zobaczyć kontekst z ssh
Jakuje
@Jakuje Zaktualizowałem go ponownie - czy to wystarczy?
Alexander Zeitler,

Odpowiedzi:

33

Sprawdź plik /Users/alexzeitler/.ssh/id_rsa. Co tam jest? Jak się tam dostał?

To powinien być twój prywatny klucz RSA, prawda? I czy coś w tym jest /Users/alexzeitler/.ssh/id_rsa.pub? Czy to jest poprawny klucz publiczny?

Jeśli nie użyjesz tych kluczy, usuń oba z nich, a wiadomość zniknie. Jeśli używasz ich w inny sposób, przenieś je gdzie indziej. To samo, jeśli są w innym formacie.

Część publiczna jest prawdopodobnie uszkodzona, więc możesz odtworzyć ją z części prywatnej za pomocą tego polecenia:

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

możliwość hostkeys

Inną możliwością jest to, że klient próbuje odczytać klucze publiczne serwera HostBasedAuthentication. Nie masz na to pozwolenia /etc/ssh/ssh_config?

Byłby to jeden z tych plików brakujący lub uszkodzony:

/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

Twój sshdserwer nie narzeka?

Jakuje
źródło
Klucze publiczne i prywatne są ważne, gdy np. Używa się ich z git + GitHub
Alexander Zeitler,
zredagował odpowiedź. Klucze serwera mogą być również przyczyną w niektórych przypadkach.
Jakuje
2
Ten był tam wcześniej. Uważam, że część publiczna jest jakoś skorumpowana. Możesz spróbować zregenerować nowy klucz publiczny z prywatnego za pomocą ssh-keygen -y ~/.ssh/id_rsa.
Jakuje
3
odtworzenie klucza publicznego z prywatnego naprawiło go - dziękuję za twoją pomoc i cierpliwość! Zaktualizuj odpowiedź, aby oznaczyć ją jako odpowiedź.
Alexander Zeitler,
5
Przy okazji użyłem polecenia:ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
Alexander Zeitler,