key_load_public: รูปแบบที่ไม่ถูกต้องด้วย scp หรือ git clone บน Ubuntu 15.10


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

กรุณาโพสต์บันทึก verbose ทั้งหมด
Jakuje

@Jakuje เพิ่มผลลัพธ์ verbose ให้กับคำถาม
Alexander Zeitler

ฉันหมายถึงบันทึก verbose ค่อนข้างจากscpเช่นscp -vvv file remote:fileหรือเพื่อดูบริบทจาก ssh
Jakuje

@Jakuje อัปเดตอีกครั้ง - เพียงพอหรือไม่
Alexander Zeitler

คำตอบ:


33

/Users/alexzeitler/.ssh/id_rsaตรวจสอบไฟล์ มีอะไรเหรอ? มันมาได้อย่างไร

ควรเป็นรหัส RSA ส่วนตัวของคุณใช่ไหม และจะมีบางสิ่งบางอย่างใน/Users/alexzeitler/.ssh/id_rsa.pub? มันเป็นกุญแจสาธารณะที่ถูกต้อง?

หากคุณไม่ได้ใช้กุญแจเหล่านี้ให้ลบทั้งสองอย่างแล้วข้อความจะหายไป หากคุณกำลังใช้พวกเขาในวิธีที่แตกต่างกันย้ายพวกเขาไปที่อื่น เช่นเดียวกันหากอยู่ในรูปแบบที่ต่างกัน

ส่วนสาธารณะอาจเสียหายดังนั้นคุณสามารถสร้างใหม่ได้จากส่วนบุคคลโดยใช้คำสั่งนี้:

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

ความเป็นไปได้ของ 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

sshdเซิร์ฟเวอร์ของคุณไม่บ่นใช่หรือไม่


กุญแจสาธารณะและกุญแจส่วนตัวใช้ได้เมื่อใช้กับ git + GitHub
Alexander Zeitler

แก้ไขคำตอบ คีย์เซิร์ฟเวอร์อาจเป็นสาเหตุในบางกรณี
Jakuje

2
นั่นเคยอยู่ที่นั่นมาก่อน ฉันเชื่อว่าส่วนสาธารณะเสียหายอย่างใด ssh-keygen -y ~/.ssh/id_rsaคุณสามารถพยายามที่จะงอกใหม่คีย์สาธารณะใหม่จากภาคเอกชนใช้
Jakuje

3
สร้างคีย์สาธารณะจากไพรเวตให้คงที่ - ขอขอบคุณสำหรับความช่วยเหลือและความอดทนของคุณ! โปรดอัปเดตคำตอบเพื่อให้ฉันสามารถทำเครื่องหมายว่าเป็นคำตอบ
Alexander Zeitler

5
Btw คำสั่งที่ฉันใช้คือ:ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
Alexander Zeitler
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.