VirtualBox Host ssh to Guest

53

Saya memiliki host mac, dan tamu VirtualBox Linux, saat ini menggunakan mode Bridged.

Saya harus dapat dengan mudah SSH menjadi tamu dari tuan rumah. Akan lebih baik menggunakan nama host, tetapi alamat IP yang tidak pernah berubah juga akan baik-baik saja (saat ini, IP berubah dengan setiap jaringan baru yang saya gabungkan, dan nama host tidak pernah berfungsi).

Saya juga butuh akses internet dari tamu.

Mesin lain di jaringan tidak perlu akses ke tamu.

Apa cara terbaik untuk mengkonfigurasi jaringan VirtualBox saya?

Thomas Hunter
sumber
1
Terkait dengan ini, pertimbangkan untuk memulai tamu VB tanpa GUI: superuser.com/questions/135498/…
Fabricio PH

Jawaban:

36

Pertama, Anda harus membuat vboxnet0antarmuka.

VirtualBox> File> Preferensi> Jaringan> Host-only Networks> Tambah (Anda akan mendapatkan vboxnet0)

Kemudian, jalankan ini di mesin host. Anda akan melihat antarmuka baru vboxnet0,, muncul.

ifconfig

Matikan VM Anda dan lakukan:

VM's Settings > System > check "Enable I/O APIC."
VM's Settings > Network > Adapter 2 > host-only vboxnet0

Mulai VM, saat dijalankan tamu

ifconfig

dan periksa ip

Periksa tautan ini:

  1. https://forums.virtualbox.org/viewtopic.php?f=8&t=40076
  2. http://www.wiredrevolution.com/virtualbox/setup-ssh-access-between-virtualbox-host-and-guest-vms

Ada juga solusi untuk NAT tetapi saya belum memeriksanya.

Mengkonfigurasi port forwarding dengan NAT di mesin host Anda

VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,,22"

terhubung ke linux Anda melalui port 2222 dari mesin host Anda

ssh -l -p 2222 localhost

Untuk jaringan khusus host dengan ip statis, periksa ini:

https://stackoverflow.com/questions/5906441/how-to-ssh-to-a-virtualbox-guest-externally-through-a-host/27152153#27152153

Ini untuk Solaris 10 dan Ubuntu 16.04 tetapi harus mudah diadaptasi.

rofrol
sumber
2
Terima kasih, saya akhirnya mengaktifkan penerusan port VirtualBox dan saya dapat terhubung melalui ssh localhost -p 7022.
Thomas Hunter
Bagus, penerusan port bekerja seperti pesona. Meskipun saya melakukan konfigurasi di GUI Virtualbox daripada dengan VBoxManage. Di sana Anda perlu mengatur alamat IP host dan guest Anda juga, yang masing-masing harus 127.0.0.1 dan 10.0.2.15.
Sebastian Ganslandt
Edit minor ke kalimat pertama. Seharusnya berbunyi: VirtualBox> Pengaturan> Jaringan> 'Host-only Networks'> Tambah (Anda akan mendapatkan vboxnet0)
Steve Swinsburg
Saya telah melakukan semua ini untuk pengaturan host saja, dan ketika saya mencoba ssh in dari host saya, itu hanya hang (sampai waktu habis). Apakah ada hal lain?
Chris Westin
37

Antara dua mesin Linux (host 32-bit Ubuntu dan 64-bit Ubuntu VM), saya berhasil membuat ssh bekerja menggunakan Port Forwarding ini:

masukkan deskripsi gambar di sini

Kemudian dari sistem host Anda jalankan

ssh -p 5679 127.0.0.1

Pengganti 5679dengan "Host Port" dimasukkan ke dalam Aturan Port Forwarding.

719016
sumber
8
Saya melakukan hal yang persis sama, hanya tanpa memasukkan "IP Host" dan "IP Tamu".
Damien Cassou
Dalam kasus saya, gambar ubuntu tidak datang dengan ssh terinstal (saya harapkan). Jadi saya menjalankan 'apt-get install openssh-server' dan dapat terhubung dengan 'ssh -p 5679 localhost'. Berdasarkan komentar lain, saya tidak memasukkan host atau IP tamu.
Pierre-Antoine
2

Jika Anda tidak ingin dipusingkan dengan penerusan porta, Anda dapat mengatur adaptor khusus host yang muncul sebagai antarmuka host dan kemudian menambahkan alamat IP di dalam subnet dalam tamu tersebut.

Langkah:

  • Buat jaringan hanya host di Virtualbox (GUI -> pengaturan -> jaringan). Ketik ifconfighost dan lihat sesuatu vboxnet0denganinet 192.168.50.1
  • di tamu, tambahkan alamat IP: ifconfig eth1 192.168.50.101 netmask 255.255.255.0 up
  • di host, jalankan ssh [email protected]

Bacaan lebih lanjut:

Ben Creasy
sumber
1

Anda mungkin lebih baik mengkonfigurasi NIC virtual Anda dalam mode NAT jika Anda bergerak sedikit. Dengan menggunakan NAT, host (PC Anda) menjadi server dan router DHCP untuk jaringan pribadi yang dibuat untuk OS tamu Anda. Saya cukup yakin Anda dapat mengatur alamat statis menggunakan NAT juga ...

Namun, saya pikir solusi terbaik adalah untuk menjelaskan mengapa resolusi nama tidak berfungsi untuk VM tamu Anda :)

https://www.virtualbox.org/manual/ch06.html#network_nat

john
sumber
2
Saya mengatur mode NAT, dan tamu saya diberikan ip 10.0.2.15. Namun, dari tuan rumah (yang IP-nya adalah 192.168.1.120), saya tidak dapat menjangkau tamu. Panduan ini mampu menjelaskan mode yang berbeda untuk saya, tetapi tampaknya tidak memiliki solusi untuk masalah saya.
Thomas Hunter
0

Sangat membantu, menempatkan saya ke arah yang benar. Terima kasih.

Saya harus pergi ke> VirtualBox> File> Host Network Manager> vboxnet0> Konfigurasikan Adaptor Secara Manual> Alamat IPv4 dan atur ke ifconfig tamu. Untuk beberapa alasan tuan rumah dan tamu memberi saya IP yang berbeda.

Disebutkan tetapi untuk menjadi eksplisit, saya harus mengatur port forwarding port untuk 127.0.0.1 ke 5679 dan bukan port ssh default 22, seperti yang sudah digunakan oleh komunikasi ssh host sendiri.

remkohdev
sumber