ไม่สามารถ ssh ไปสู่การติดตั้ง Vagrant ใหม่ของ 13.04


9

ฉันใช้ภาพ Vagrant สำหรับ 13.04 จากhttp://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-i386-vagrant-disk1.boxเพื่อสร้างเครื่องเสมือนใหม่และพยายามเชื่อมต่อกับ มันใช้ ssh อย่างไรก็ตาม SSH จะตัดการเชื่อมต่อทันทีโดยไม่ต้องไปถึงขั้นตอนที่มันพยายามพิสูจน์ตัวตน

ฉันเปิด VM ใน VirtualBox GUI และดูที่ไฟล์บันทึก SSH (auth.log) มันเต็มไปด้วยบรรทัดเช่นนี้:

Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: error: Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Jul 25 17:57:02 vagrant-ubuntu-raring-32 sshd[898]: fatal: No supported key exchange algorithms [preauth]

ปัญหาได้รับการแก้ไขโดยดำเนินการคำสั่งต่อไปนี้:

sudo ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa
sudo ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa

ฉันจะสมมติว่าสิ่งเหล่านี้ควรทำงานโดยอัตโนมัติในบางจุดโดยเฉพาะอย่างยิ่งเมื่อ (a) ฉันไม่จำเป็นต้องเรียกใช้ตัวเองเมื่อฉันติดตั้ง Ubuntu จากอิมเมจ ISO และ (b) เพราะ Vagrant ควรได้รับการออกแบบหลังจากที่คุณเรียกใช้vagrant upคุณสามารถใช้ VM ได้ทันทีโดยไม่ต้องกำหนดค่าเพิ่มเติมใด ๆ

ฉันอาจต้องสร้าง Virtual Machine จำนวนมากในอนาคตอันใกล้และฉันหวังว่าฉันจะใช้ Vagrant เพื่อทำมัน แต่ฉันไม่สามารถทำได้ถ้าฉันจะต้องแก้ไข SSH ด้วยตนเองในแต่ละอัน

ไม่มีใครรู้ว่าทำไมสิ่งนี้ถึงเกิดขึ้นและสิ่งที่สามารถแก้ไขได้? ฉันควรรายงานว่าเป็นข้อบกพร่องหรือไม่


คุณติดตั้งล่าสุดvagrantบนโฮสต์หรือไม่ ลองเปิด debug debug แล้วดูว่ามีความสุขอย่างไร vagrant sshใช้ keypair ที่ไม่ปลอดภัยของคนจรจัดสำหรับการรับรองความถูกต้องของคีย์ผับ
เทอร์รี่วัง

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

ฉันเพิ่งลอง 12.10 VM ใหม่และสิ่งเดียวกันก็เกิดขึ้น
Moshe Katz

ขออภัยไม่ได้อ่านคำถามอย่างละเอียด ฉันเป็นโฮสต์คีย์ sshd ไม่ใช่การรับรองความถูกต้องของกุญแจสาธารณะ ดูเหมือนว่าในระหว่างการบูตอิมเมจบนคลาวด์ครั้งแรกของ Ubuntu ไม่สามารถสร้างคีย์โฮสต์ใหม่ (หากไม่พบ) มันสามารถทำได้โดยtest -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-serverใช้หรือssh-keygenเพื่อสร้างกุญแจ
เทอร์รี่วัง

ควรจะมีtest -e /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-serverใน/etc/rc.localสคริปต์
เทอร์รี่วัง

คำตอบ:


5

นี่เป็นปัญหาคีย์โฮสต์ SSH (ไม่เกี่ยวข้องกับการตรวจสอบคีย์สาธารณะ)

ดูเหมือนว่าปัญหาคือภาพอูบุนตูคลาวด์ของคนจรจัดล้มเหลวในการสร้างคีย์โฮสต์ใหม่ (หากพวกเขาไม่ได้มี/etc/ssh/) ในระหว่างการบูตครั้งที่ 1 (vagrant up )

นอกเหนือจากการสร้างโฮสต์คีย์ SSH ด้วยตนเองที่กล่าวถึงโดย Moshe

sudo ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa
sudo ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa

นอกจากนี้ยังสามารถทำได้โดยการเพิ่มคำสั่งต่อไปใน /etc/rc.local

test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server

หวังว่ามันจะช่วย


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

5

Workaroud:

  • นำเข้า ~ / .vagrant.d / กล่อง / คำราม / box.ovf อุปกรณ์ใน VirtualBox

    VBoxManage import ~/.vagrant.d/boxes/raring/box.ovf
    
  • รับชื่อ VM

    VBoxManage list vms
    
  • เริ่ม VM

    VBoxManage startvm ubuntu-cloudimg-raring-vagrant-amd64
    
  • รวมบรรทัดต่อไปนี้ใน /etc/rc.local (แน่นอนใน VM เอง!):

    test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
    
  • ปิดระบบ VM

    sudo halt
    
  • ลบภาพเก่า

    rm ~/.vagrant.d/boxes/raring/box.ovf ~/.vagrant.d/boxes/raring/box-disk1.vmdk
    
  • ส่งออก VM ในรูปแบบ. ovf

    VBoxManage export ubuntu-cloudimg-raring-vagrant-amd64 --output ~/.vagrant.d/boxes/raring/box.ovf
    

เสร็จแล้ว :)

ยังเป็นรายงานข้อผิดพลาด: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1217950


3

สิ่งนี้ดูเหมือนจะเป็นจุดบกพร่องในกล่องฐานที่เก่ากว่า ในภาพกล่องฐานปัจจุบัน (สร้างวันที่ 20 สิงหาคม 2013) คีย์จะปรากฏขึ้นโดยอัตโนมัติเมื่อกล่องบูทขึ้นเป็นครั้งแรก


ฉันพบข้อผิดพลาดนี้อีกครั้งและดูเหมือนว่ารายงานข้อบกพร่องของ @ S0me0ne ที่คนอื่นก็เช่นกัน ฉันยืนยันใน / etc / ssh ว่าไฟล์คีย์ไม่อยู่ที่นั่น สิ่งนี้ใช้รูปภาพ 24 กันยายน
malvim

ตกลงพวกเขาเพิ่งปล่อย "แบตช์" ของเครื่องจักร (จาก 28 กันยายน 2013) ซึ่งสร้างคีย์ที่หายไปอย่างถูกต้อง ฉันสามารถตรวจสอบได้โดยการนำเข้ากล่องโดยใช้ VBoxManage แปลกเมื่อฉันใช้ "คนพเนจร" ไฟล์ไม่ได้มี! มีความแตกต่างระหว่างการนำเข้าโดยตรงไปยัง VB และใช้คนจรจัดหรือไม่
malvim
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.