ฉันกำลังทำโครงการคอมพิวเตอร์วิทัศน์ และฉันมี Vagrant VM บน Ubuntu 20.04 VM บน VirtualBox บนเครื่องโฮสต์ Windows 11 ฉันต้องการใช้เครื่องโฮสต์ Windows 11 สำหรับ CV เนื่องจากต้องใช้พลังการประมวลผลจำนวนมาก และสื่อสารกับแอป python ในคนเร่ร่อนที่กำลังทำงานโดยใช้ SSH เนื่องจากไม่ใช่แอปที่ใช้ทรัพยากรมาก
ฉันมีพอร์ตที่ส่งต่อ (8000 -> 8000) ในกล่องเสมือนเพื่อเข้าถึงอินเทอร์เฟซเว็บของแอปที่ฉันต้องการ และฉันสามารถเข้าถึงได้จากเบราว์เซอร์ของฉันบน Firefox ใน Windows 11
ปัญหาเกิดขึ้นเมื่อฉันพยายามที่จะ ssh เป็นคนจรจัด (2222->2222) สีโป๊วให้ข้อผิดพลาดสำหรับการเชื่อมต่อถูกปฏิเสธ windows cmd ให้ "kex_exchange_identification: อ่าน: การเชื่อมต่อถูกยกเลิก"
ฉันได้ลองรับรหัสส่วนตัวแล้ว ฉันลองใช้คำสั่ง ssh ทุกรูปแบบที่ฉันสามารถหาได้ แต่มันไม่ทำงาน ภายใน Ubuntu ฉันสามารถพิมพ์ "vagrant ssh" และมันจะเชื่อมต่อกับ ssh โดยไม่ชักช้า
ฉันพลาดอะไรไปรึเปล่า?
ฉันมักจะใช้ WSL2 สำหรับการเขียนโปรแกรมใน linux แต่แอปพลิเคชันเฉพาะของฉันต้องการให้มันทำงานใน vagrant ใน ubuntu
การส่งต่อพอร์ต
คนจรจัด ssh-config
config.vm.box = "ทั่วไป/ubuntu2010"
# พอร์ตที่ส่งต่อสาธารณะ
# พอร์ตด้านล่างสามารถเข้าถึงได้ทุกเครื่องในเครือข่ายเดียวกัน
# หากต้องการจำกัดการเข้าถึงเครือข่ายท้องถิ่น ให้เพิ่ม "host_ip"
config.vm.network "private_network" ประเภท: "dhcp"
# เช่น: config.vm.network "forwarded_port", แขก: 80, โฮสต์: 8080, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", แขก: 8000, โฮสต์: 8000 # Web App
config.vm.network "forwarded_port", แขก: 9000, โฮสต์: 9000 # เซิร์ฟเวอร์ระยะไกล
#config.vm.network "forwarded_port", แขกรับเชิญ: 2222, โฮสต์: 2222 # เซิร์ฟเวอร์ระยะไกล #<--นี่คือความคิดเห็นเนื่องจากใช้งานไม่ได้ และการเริ่มต้นของคนจรจัดก็ระบุว่ากำลังส่งต่อพอร์ต 22 ไปยังพอร์ต 2222
#config.vm.network "private_network" ประเภท: "dhcp" #<-- เป็นเช่นนี้
config.ssh.username = 'คนจรจัด'
config.ssh.password = 'ทดสอบ'
config.ssh.insert_key = 'เท็จ'
การเริ่มต้นของคนจรจัด
ไม่เป็นไร ฉันมันงี่เง่า ติดตั้ง opensh ใน Ubuntu และสามารถเข้าถึงคนจรจัดได้