Saya memiliki VM Ubuntu yang berjalan di mesin Windows 7 saya. Bagaimana cara mengaturnya sehingga saya dapat mengakses server web secara eksternal melalui SSH?
Saya menemukan langkah-langkah ( Setup SSH akses antara VirtualBox Host dan Guest VMs ) untuk dapat ssh ke tamu saya dari host saya, tetapi itu masih membuat saya masalah mengaksesnya melalui router saya.
Saya kira saya bisa menginstal server SSH pada mesin Windows saya dan kemudian tunnel beberapa kali (walaupun saya tidak 100% yakin apa yang harus digunakan dalam hal lokal, dinamis, dll. Atau bagaimana cara mengatur beberapa terowongan?), tetapi apakah ada cara untuk membuat VM langsung dapat diakses oleh router saya sehingga saya bisa langsung port forward ke sana?
ssh
virtualbox
Yordania
sumber
sumber
Jawaban:
Cara terbaik untuk masuk ke tamu Linux VirtualBox VM adalah penerusan porta . Secara default, Anda seharusnya sudah memiliki satu antarmuka yang menggunakan NAT . Lalu pergi ke pengaturan Jaringan dan klik tombol Port Forwarding . Tambahkan Aturan baru . Sebagai nama aturan, masukkan "ssh". Sebagai "Host port", masukkan 3022. Sebagai "Guest port", masukkan 22. Segala sesuatu yang lain dari aturan dapat dibiarkan kosong.
atau dari baris perintah
di mana 'myserver' adalah nama VM yang dibuat. Periksa aturan yang ditambahkan:
Itu saja! Pastikan Anda tidak lupa menginstal server SSH di VM:
Untuk SSH ke dalam VM tamu, tulis:
Di mana
user
nama pengguna Anda di dalam VM.sumber
ssh -p 3022 [email protected]
Itu adalah satu langkah yang saya lewatkan dan baru saja temukan di situs lain.Host mybox HostName 127.0.0.1 User myuser Port 3022
ke file itu (tambahkan indentasi sendiri), maka Anda hanya perlussh mybox
setiap kali :)Ubah tipe adaptor di VirtualBox ke bridged, dan atur tamu untuk menggunakan DHCP atau atur alamat IP statis di luar batas DHCP. Ini akan menyebabkan Mesin Virtual bertindak seperti tamu normal di jaringan rumah Anda. Anda kemudian dapat port forward.
sumber
Menjaga adaptor NAT dan menambahkan adaptor host-only kedua berfungsi dengan luar biasa, dan sangat penting untuk laptop (di mana jaringan eksternal selalu berubah).
http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guests/
Ingatlah untuk membuat jaringan hanya host di kotak virtual itu sendiri (GUI -> pengaturan -> jaringan), jika tidak, Anda tidak dapat membuat antarmuka hanya host pada tamu.
sumber
/etc/network/interfaces
, Terima kasih!ssh
,sftp
, dll) karena Anda akan harus melalui port non-standar.Anda juga dapat menggunakan Bridged Network (atau "Bridge Adapter", dalam versi yang lebih baru) dalam pengaturan jaringan . Ini akan menempatkan VM Anda dalam VLAN dengan mesin Anda. Jadi Anda bisa ssh ke VM seperti ini.
sumber
Bagaimana melakukan jaringan host-only ( lebih baik daripada bridged) untuk Solaris 10 dan Ubuntu 16.04
Tambahkan antarmuka khusus Host
Mulai cmd.exe dan jalankan
ipconfig /all
. Anda akan melihat garis:Adaptor kedua di tamu juga harus di 192.168.59. *.
Mulai VM.
Solaris 10
ifconfig -a
. Anda akan melihat e1000g0 dan e1000g1. Kami tertarik pada e1000g1.ifconfig e1000g down
ifconfig e1000g 192.168.56.10 netmask 255.255.255.0 up
ping 192.168.56.10
Pertahankan pengaturan itu saat reboot
Konfigurasikan layanan ssh ( administrasi ) untuk login sebagai root (tidak disarankan)
Periksa apakah ssh diaktifkan
Ubah / etc / ssh / sshd_config jadi ada
Mulai kembali layanan ssh
Dari host, periksa
Ubuntu 16.04
Daftar antarmuka:
Anda akan melihat tiga antarmuka seperti lo, enp0s3, enp0s8. Kami akan menggunakan yang ketiga.
Edit / etc / network / interfaces
Lalu
sudo ifup enp0s8
. Periksa apakah enp0s8 mendapatkan alamat yang benar. Anda akan melihat ip Anda:Jika tidak, Anda dapat lari
sudo ifdown enp0s8 && sudo ifup enp0s8
/superuser/424083/virtualbox-host-ssh-to-guest/424115#424115
sumber
192.168.59.1
dan Anda menentukan192.168.56.10
untuk IP tamu statis. Seluruh alamat subnet C kelas harus sama persis, jadi Anda harus menggunakan sesuatu seperti192.168.59.10
di dalam tamu.Untuk melakukan ssh ke VM Ubuntu yang berjalan di VirtualBox dari mesin host Anda, Anda perlu mengatur dua adapter jaringan untuk VM.
Pertama-tama, hentikan VM jika belum.
Kemudian pilih VM dan klik menu Pengaturan di bilah alat VirtualBox:
Mengatur Adaptor 1
Siapkan Adaptor 2
(Catatan: Anda tidak perlu mengatur penerusan port apa pun.)
Itu dia. Setelah diatur, Anda dapat memulai VM Anda. Di VM Anda, konfigurasi jaringan akan terlihat seperti di bawah ini dan Anda akan memiliki akses Internet juga:
Juga di mesin host Anda, Anda dapat melakukan ssh ke VM Anda:
Pastikan bahwa server SSH telah diinstal dan berjalan di VM.
Jika tidak, instal:
Juga untuk informasi Anda:
sumber
File > Host Network Manager > Create
Jawaban yang diberikan oleh pengguna lain di sini:
How to SSH to a VirtualBox guest externally through a host?
... membantu saya menyelesaikan tugas menyambungkan dari luar di internet ke mesin tamu komputer di rumah saya. Anda harus dapat terhubung menggunakan komputer, tablet, dan ponsel pintar (android, IPhone, dll). Saya menambahkan beberapa langkah lagi seandainya mungkin bermanfaat bagi orang lain:
Berikut adalah diagram singkat pengaturan saya:
Remote device ---> INTERNET --> MODEM --> ROUTER --> HOST MACHINE --> GUEST VM
Remote device (ssh client) ---> PASS THRU DEVICES ---> GUEST VM (ssh server)
Remote device (leave ssh port 3022) ---> INTERNET --> MODEM --> ROUTER (FWD frm:p3022 to:p3022)--> HOST MACHINE (FWD frm:p3022 to:p22) --> GUEST VM (arrive ssh port 22)
Kuncinya bagi saya adalah menyadari bahwa SEMUA koneksi adalah
PASSING-THROUGH
perangkat perantara untuk mendapatkan dari PC jarak jauh ke mesin virtual tamu saya di rumah - port forwarding Hore!Catatan: * Perlu ssh klien untuk meminta koneksi yang aman dan server ssh yang berjalan untuk memproses koneksi yang aman.
Saya akan meneruskan port 3022 seperti yang digunakan dalam jawaban yang dipilih dari atas.
Masukkan IP Anda jika diperlukan (modem rumah / router, IP host, IP tamu, dll.), Nama yang dipilih hanyalah contoh-gunakan atau ubah.
1.Buat terowongan ssh ke port 3022 pada IP modem / alamat IP eksternal router Anda.
ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP
2.Port forward = kita melewati koneksi dari router ke mesin host
Pastikan juga aturan firewall / IPtable pada router memungkinkan port untuk maju (terbuka jika diperlukan)
Entri yang diwajibkan Pfwd SCREEN: AppName: SSH_Fwd, Port_from: 3022, Protokol: keduanya (UDP / TCP), IP_address: hostIP_address, Port_to: 3022, semuanya dapat kosong
Sumber daya perangkat lunak router DD-WRT / Info:
Port_Forwarding DD-WRT
DD-WRT Static_DHCP
3.Host Machine Firewall: port terbuka 3022 #jadi port yang diteruskan dapat melewati melalui mesin tamu
Mesin Host: Instal VirtualBox, tambahan tamu, dan mesin tamu jika belum dilakukan
Konfigurasikan mesin tamu dan kemudian ikuti bagian Jaringan di bawah ini
Saya menggunakan VirtualBox GUI untuk mengatur jaringan tamu - lebih mudah daripada CLI
Jika Anda ingin menggunakan metode lain, rujuk ke:
VirtualBox/manual/ch06.html#natforward
4. Beberapa menyarankan menggunakan adapter Network Bridge untuk guest = akses ke LAN dan mesin lain pada LAN Anda. Ini juga menimbulkan risiko keamanan yang meningkat, karena sekarang mesin tamu Anda sekarang terpapar ke mesin LAN dan mungkin peretas INTERNET jika firewall tidak dipasang dengan benar. Jadi saya memilih Network adapter yang terpasang pada NAT untuk mengurangi risiko keamanan yang dijembatani.
Pada mesin tamu lakukan hal berikut:
Juga ada berbagai ssh server dan klien tergantung pada platform yang digunakan.
wikipedia/Secure_Shell
wikipedia/Comparison_of_SSH_servers
wikipedia/Comparison_of_SSH_clients
Untuk Pengguna Ubuntu:
ubuntu community: SSHOpenSSH/Configuring
ubuntu/community: OpenSSH/Keys
Seharusnya begitu. Jika saya melakukan kesalahan atau ingin menambahkan sesuatu - jangan ragu untuk melakukannya - saya masih noob.
Semoga ini bisa membantu seseorang. Semoga berhasil!
sumber
Untuk host Windows, Anda dapat:
sumber
Anda juga dapat menginisialisasi port ke HOST Anda, ATAU SERVER LAINNYA, dari Tamu Anda. Ini sangat berguna jika Tamu Anda 'dikunci' atau tidak dapat menyelesaikan opsi ModifyVM (mis. Tidak ada izin untuk VBoxManage).
Tiga persyaratan minor adalah 1) Anda dapat / dapat login ke VirtualBox Guest (melalui 'konsol' GUI, Guest lain, dll), 2) Anda memiliki akun di VirtualBox HOST (atau Server lain), dan 3) SSH dan TCP penerusan tidak diblokir.
Anggap Anda dapat memenuhi 3 persyaratan, ini adalah langkah-langkahnya:
netstat -rn
dan temukan alamat Gateway ke tujuan rute default 0.0.0.0. Katakanlah "10.0.2.2". Alamat 'Gateway' ini adalah (salah satu) Virtual IP Host virtualBox.ssh -R 2222:localhost:22 10.0.2.2
mana "10.0.2.2" adalah alamat IP server VirtualBox-ATAU - IP server lain yang ingin Anda port forward.ssh 10.0.2.2 -p2222
mana 10.0.2.2 adalah default gateway / VBHost virtual IP ditemukan di langkah 1. Jika BUKAN host VirtualBox Anda port forwarding, maka perintahnya adalahssh localhost -p2222
sumber
Ikuti langkah-langkah di bawah ini untuk masuk ke VM ubuntu Anda yang berjalan di kotak virtual dari mesin host menggunakan dempul (Tanpa port forwarding):
Pada manajer Virtualbox pilih vm, klik ikon pengaturan. Lalu buka Networks dan aktifkan dua adapter seperti di bawah ini:
Mulai vm ubuntu.
Edit file '/ etc / network / interfaces' seperti di bawah ini dan simpan:
Mulai ulang VM.
Login ke VM dan jalankan perintah di bawah ini untuk memeriksa IP yang dialokasikan untuk eth1:
Gunakan IP ini untuk membuka sesi dempul untuk VM.
sumber
Penjelasan yang baik tentang cara mengkonfigurasi penerusan port dengan NAT ditemukan di dokumen VirtualBox: http://www.virtualbox.org/manual/ch06.html#natforward
sumber
Ubuntu 18,04 LTS
Konfigurasi dengan bridged untuk melihat ip server, dan terhubung tanpa "port forwarding"
VirtualBox> klik kanan di server> pengaturan> Jaringan> aktifkan adaptor 2> pilih "dijembatani"> Mode promiscuous: izinkan semua> Periksa kabel yang terhubung> mulai server
Di server ubuntu, edit
sudo nano /etc/netplan/*init.yaml
file,File sampel saya:
Perintah yang akan membantu Anda
Konfigurasikan Alamat IP Statis Pada Ubuntu 18.04 LTS Server - dengan NetPlan
sumber
Cukup mengatur Network Setting ke bridged, lakukan trik untuk saya.
IP Anda akan berubah ketika Anda melakukan ini. Namun, dalam kasus saya itu tidak segera berubah.
ifconfig
mengembalikan ip yang sama. Saya me-reboot vm dan boom, ip mengatur sendiri untuk memulai dengan 192. * dan saya langsung diizinkan akses ssh.sumber
Pada jaringan aman yang mengatur jaringan Anda untuk menjembatani mungkin tidak berfungsi. Administrator hanya dapat mengizinkan satu alamat mac per port atau bahkan lebih buruk lagi memblokir port jika switch mendeteksi beberapa mac pada satu port.
Solusi terbaik menurut saya adalah mengatur antarmuka jaringan tambahan untuk menangani layanan tambahan yang ingin Anda jalankan di mesin Anda. Jadi saya memiliki antarmuka jembatan untuk memungkinkan menjembatani ketika saya membawa laptop saya pulang dan dapat SSH ke dalamnya dari perangkat lain di jaringan saya serta adaptor host saja ketika saya ingin SSH ke VM saya dari laptop saya ketika saya terhubung ke jaringan wifi eduroam di kampus.
sumber
Gunakan adapter jaringan NAT dan Add port forward. Sebutkan host ip yang sebenarnya. Jangan gunakan 127.0.0.1 atau localhost.
sumber