SSH ke Ubuntu VM dari jarak jauh

10

Saya tidak punya banyak pengalaman di jaringan atau Linux, tapi saya mencoba ssh ke mesin virtual Ubuntu dari luar jaringan rumah saya. Mesin virtual Ubuntu (VirtualBox) berjalan di desktop Debian. Saya melakukan riset dan menemukan saya harus meneruskan port 22 dari router ke mesin virtual.

  • Saya mengubah pengaturan jaringan pada VM ke jembatan.
  • Saya meneruskan porta ke VM.
  • Saya memeriksa ( http://www.yougetsignal.com/ ) untuk menunjukkan port terbuka.

Tetapi ketika saya mencoba menghubungkannya masih tidak berfungsi. ssh username @ - koneksi ditolak

Apakah ada yang harus saya lakukan di dalam mesin virtual untuk memungkinkan koneksi masuk? Atau meneruskan port apa saja?

Apakah ada yang saya lakukan salah, bantuan apa pun akan sangat dihargai !!

pengguna1354275
sumber
Bagaimana VM terhubung dengan host. Jika di belakang NAT (default pada kotak virtual). Itu tidak akan berfungsi tetapi koneksi yang dijembatani akan berfungsi asalkan Anda meneruskan port dengan benar.
Matt Mootz
Anda menggunakan ssh username @ router-ip-address kan?
cprofitt
1
ya username @ public-ip-address apakah itu benar?
user1354275
Ubuntu out-of-the-box termasuk klien OpenSSH , yang memungkinkan Anda untuk terhubung ke komputer lain yang menjalankan server SSH. Untuk menghubungkan 'ke' Ubuntu, Anda perlu memuat server OpenSSH ( sudo apt-get install openssh-server ) pada mesin target.
david6

Jawaban:

15

Secara default VirtualBox berfungsi dalam mode "NAT", yang berarti bahwa ia membangun jaringan "virtual" dan menerjemahkan akses jaringan dari VM sehingga ke dunia luar, mereka tampaknya berasal dari komputer Anda yang sebenarnya.

VirtualBox membuat VM berpikir itu terhubung ke jaringan, tetapi dalam kenyataannya VirtualBox menyediakan layanan jaringan, termasuk server DHCP mini. Kemudian, VirtualBox melakukan akses jaringan "atas nama" dari VM, menjadikannya hanya sebagai aplikasi lain yang berjalan pada PC Anda.

Namun ini berarti bahwa dunia luar tidak benar-benar tahu tentang VM dan tidak dapat mengaksesnya secara langsung.

Saya pikir pengalihan port yang Anda lakukan adalah dari router rumah Anda ke PC Anda, bukan ke VM. Anda mungkin kehilangan beberapa konfigurasi di sisi VirtualBox. Mohon maaf jika Anda sudah melakukan ini, tetapi pertanyaan Anda tidak jelas tentang ini.

Pada dasarnya Anda harus mengubah konfigurasi jaringan VM dan mengaturnya ke "Bridged". Apa yang dilakukan adalah, ia menciptakan antarmuka virtual pada PC Anda dan membuat VM menggunakannya untuk mengakses dunia luar; apa pun yang masuk atau pergi ke antarmuka itu akan disalurkan ke VM. Dengan demikian, VM akan terlihat sebagai mesin lain di jaringan mana pun PC Anda terhubung (bahkan memiliki alamat MAC sendiri!).

Kemudian, tergantung pada konfigurasi jaringan Anda, VM mungkin mendapatkan alamat DHCP seperti PC lain yang terhubung ke router Anda, atau Anda mungkin perlu mengkonfigurasi alamat IP statis untuk itu. Ini tergantung pada bagaimana jaringan Anda diatur.

Setelah VM memiliki alamat "nyata", Anda dapat, di router Anda, ikuti instruksi yang Anda temukan untuk merutekan port 22 ke alamat IP VM. Ini harus berfungsi seperti yang Anda harapkan.

Jika tidak:

  • Lihatlah konfigurasi firewall VM Anda (iptables -L -n). Apakah itu memblokir sesuatu?
  • Siapkan komputer lain di jaringan lokal Anda, dan coba SSH ke alamat IP VM. Jika Anda bisa, maka Anda perlu memeriksa kembali konfigurasi penerusan di router Anda. Jika tidak bisa, Anda perlu memeriksa ulang konfigurasi SSH dan firewall VM.
roadmr
sumber
Hai roadmr, saya memang mengubah pengaturan jaringan untuk menjembatani dan saya meneruskan port ke VM karena memiliki ip sendiri dan router dapat menemukannya. Saya memiliki ip statis oleh ISP. Tetapi masih belum berfungsi
user1354275
1

dari apa yang saya dapat kumpulkan, masalah Anda terletak pada jaringan komputer server Anda, karena begitu Anda mengatur jaringan vm ke mode bridge, Anda baik untuk pergi (periksa dengan ssh <your.vm.ip.number>pada baris perintah server Anda - bukan dalam vm).

server Anda berada di belakang router, sama seperti vm yang menggunakan NAT di mesin Anda.

Anda perlu menghubungi administrator jaringan server Anda sehingga ia dapat mengajukan alamat ip lokal vm Anda ke port / rentang port (pastikan vm Anda memiliki alamat ip statis).

Anda dapat melakukannya sendiri jika Anda memiliki otoritas di gateway server Anda untuk melakukannya.

sedikit visualisasi:

Internet
     '---ROUTER (SERVER1 and SERVER2 use NAT on this router)
            |   (vm1, vm2, vm3, vm4, vm5 need to be forwarded on this router)
            | 
            '--- SERVER1 (vm1, vm2, vm3 use Bridge)
            |       '---vm1
            |       '---vm2
            |       '---vm3
            '--- SERVER1 (vm4, vm5 use Bridge)
            |       '---vm4
            |       '---vm5
apisKod
sumber