พยายาม SSH เข้าสู่เซิร์ฟเวอร์และรับ key_load_public: ไม่มีไฟล์หรือข้อผิดพลาดของไดเรกทอรีดังกล่าว


43

ฉันสร้างการเชื่อมต่อ ssh แบบไม่ใช้รหัสผ่านกับรีโมตเซิร์ฟเวอร์จาก mac ของฉัน ใช้งานได้ (!) จากนั้นฉันปิดเทอร์มินัลเปิดใหม่ลองอีกครั้งและได้รับต่อไปนี้ (ชื่อผู้ใช้ my_ip ไม่ใช่ของจริง):

ssh -vvv username@my_ip
OpenSSH_7.2p2, LibreSSL 2.4.1
debug1: Reading configuration data /Users/Me/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: /etc/ssh/ssh_config line 53: Applying options for *
debug2: resolving "my_ip" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to my_ip [my_ip] port 22.
debug1: Connection established.
debug1: identity file /Users/Me/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Me/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Me/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Mes/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Me/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Me/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Me/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Me/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2
ssh_exchange_identification: read: Connection reset by peer

เมื่อฉันตรวจสอบ.sshโฟลเดอร์ของฉันid_rsaอยู่ที่นั่น แต่ไม่มีคนอื่นอยู่ จากข้อผิดพลาดดูเหมือนว่าฉันต้องการสร้างไฟล์เหล่านี้ แต่ฉันไม่แน่ใจว่าจะทำอย่างไร

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม


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

ใช่; ขอโทษด้วย! ฉันไม่สามารถเข้าสู่ระบบ - และฉันได้ออกจากบรรทัดก่อนหน้า (และอาจสำคัญที่สุด?) ก่อนหน้านี้
Eric

คำตอบ:


51
debug1: key_load_public: No such file or directory

บรรทัดด้านบนไม่ใช่ข้อผิดพลาด แต่เป็นเพียงบันทึกการดีบักอย่างง่าย ๆ โดยบอกว่าsshไคลเอนต์ไม่สามารถหากุญแจสาธารณะแยกต่างหาก (ตั้งชื่อ~/.ssh/id_rsa.pub) ไฟล์นี้ไม่จำเป็นต้องเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล แต่อาจมีประโยชน์

ข้อผิดพลาดจริง

ssh_exchange_identification: read: Connection reset by peer

ชี้ไปที่ข้อผิดพลาดในการกำหนดค่าเซิร์ฟเวอร์ เซิร์ฟเวอร์กำลังทำงาน แต่ไม่สามารถยอมรับการเชื่อมต่อ SSH ตรวจสอบล็อกเซิร์ฟเวอร์สำหรับข้อมูลเพิ่มเติม ปัญหาที่คล้ายกัน


ลิงค์นั้นมีประโยชน์มาก และปรากฎว่าในความเป็นจริงฉันอยู่ในบัญชีดำ (ฉัน ssh'ed ลงในเซิร์ฟเวอร์ของฉันหลายครั้งเกินไปในขณะที่ฉันกำลังทดสอบบางสิ่งบางอย่าง)
Eric

1
ปัญหาของฉันได้รับเป็นเจ้าภาพ Bastion มีการเปลี่ยนแปลงที่อยู่ IP และknown_hostsไม่ถูกต้องบน Mac ของฉัน ... มันแสดงให้เห็น@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @... ~/.ssh/known_hosts:238มันแสดงให้เห็นจำนวนบรรทัดโดย ดังนั้นฉันจึงลบบรรทัดนั้น 238 ในกรณีนี้ออกจากไฟล์ known_hosts บน Mac ของฉันและฉันพยายามเชื่อมต่ออีกครั้งสำเร็จ
Marcello de Sales

3

ปัญหา: bastion โฮสต์ IP ไม่ตรงกัน ~/.ssh/known_hosts

ฉันมีknown_hostsไฟล์เก่าเนื่องจากที่อยู่ IP ของป้อมปราการเปลี่ยนไป ...

$ ssh 10.82.49.24
ssh_exchange_identification: Connection closed by remote host

ไม่ได้ให้ข้อมูลใด ๆ แก่ฉัน การดูผลลัพธ์แบบ verbose นำไปสู่สิ่งเดียวกัน:

$ ssh -v 10.82.49.24
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /Users/mdesales/.ssh/config
debug1: /Users/mdesales/.ssh/config line 1: Applying options for 10.82.*.*
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Executing proxy command: exec ssh -q -W 10.82.49.24:22 ec2-user@bastion-vpc-xxxxxx.config-yyyyyyy.com -i ~/.ssh/xxxconfig-xxxx.pem
debug1: key_load_public: No such file or directory
debug1: identity file ~/.ssh/xxxconfig-xxxx.pem
debug1: key_load_public: No such file or directory
debug1: identity file ~/.ssh/xxxconfig-xxxx.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: permanently_drop_suid: 1647059022
ssh_exchange_identification: Connection closed by remote host

ณ จุดนี้เนื่องจากเป็นพร็อกซีไปยังโฮสต์อื่นผ่านป้อมปราการฉันจึงเห็นว่าป้อมปราการเป็นปัญหา:

$ ssh ec2-user@bastion-vpc-xxxxxx.config-yyyyyyy.com -i ~/.ssh/xxxconfig-xxxx.pem
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:Z8X1UlIgQ94BKJ7NA/oQi7v0NL4IlFeO7Ou4j76Zphk.
Please contact your system administrator.
Add correct host key in /Users/mdesales/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/mdesales/.ssh/known_hosts:238
ECDSA host key for ec2-user@bastion-vpc-xxxxxx.config-yyyyyyy.com has changed and you have requested strict checking.
Host key verification failed.

วิธีการแก้

การลบรายการในบรรทัด 238 สามารถแก้ไขปัญหาได้ ... ฉันสามารถ ssh ไปยังป้อมปราการและฉันสามารถ ssh ไปยังโฮสต์ได้

$ vim /Users/mdesales/.ssh/known_hosts

$ ssh ec2-user@bastion-vpc-xxxxxx.config-yyyyyyy.com -i ~/.ssh/xxxconfig-xxxx.pem
The authenticity of host 'ec2-user@bastion-vpc-xxxxxx.config-yyyyyyy.com (34.x.x.y)' can't be established.
ECDSA key fingerprint is SHA256:Z8X1UlIgQ94BKJ7NA/oQi7v0NL4IlFeO7Ou4j76Zphk.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ec2-user@bastion-vpc-xxxxxx.config-yyyyyyy.com -i ~/.ssh/xxxconfig-xxxx.pem,34.213.y.x' (ECDSA) to the list of known hosts.
********************************************************************************
This is a private computer system containing information that is proprietary
and confidential to the owner of the system.  Only individuals or entities
authorized by the owner of the system are allowed to access or use the system.
Any unauthorized access or use of the system or information is strictly
prohibited.

All violators will be prosecuted to the fullest extent permitted by law.
********************************************************************************
Last login: Wed Aug  2 20:35:55 2017 from 10.81.31.115
[ec2-user@ip-10-82-50-142 ~]$ 

1

เกิดขึ้นกับฉันวันนี้

แก้ไขโดยตัดการเชื่อมต่อ WLAN ของฉันและเชื่อมต่อใหม่ ใช่ฟังดูงี่เง่าและมันก็โง่ แต่อย่างน้อยใน WLAN ตัวเดียวที่เกิดขึ้นโดยไม่มีเหตุผลอะไรที่ดี


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.