Bagaimana ssh menjadi server yang berjalan di jaringan rumah, di belakang router?

22

Oke, jadi saya punya PC di jaringan rumah saya, menjalankan Ubuntu pada VM dengan server openssh terinstal.

  1. Bagaimana saya bisa mengaksesnya dari jarak jauh dari komputer lain di luar jaringan rumah, menggunakan internet?
  2. Alamat IP apa yang saya gunakan untuk menghubungkannya?
  3. Port-forwarding seperti apa yang harus saya lakukan?
Hugo Lobo
sumber
Apa jenis jaringan yang digunakan VM? Untuk penggunaan rumah yang umum, bridged direkomendasikan, maka untuk keperluan jaringan VM akan setara dengan mesin fisik, jadi Anda cukup melakukan port forwarding pada router Anda seperti biasa.
fkraiem
Di bawah Pengaturan Jaringan pada VM saya, dikatakan adaptor jaringan terpasang ke NAT. Ini screenshotnya: tautan Apakah saya perlu mengubahnya?
Hugo Lobo
Menempatkannya di jembatan akan membuat segalanya lebih sederhana, ya. (Pada dasarnya, dengan NAT Anda perlu melakukan port forwarding dua kali, pada router Anda dan di VBox.)
fkraiem
sebenarnya Anda tidak memerlukan port forwarding ketika mesin yang ingin Anda sambungkan terlihat ke server lokal Anda - cukup beri kami -Lflag pada perintah ssh - tetapi pastikan koneksi tetap hidup - jalankan htop atau sesuatu yang serupa untuk menjaga transfer data.
Luas

Jawaban:

22

Ada beberapa hal yang perlu Anda lakukan:

1) Seperti fkraiem yang disebutkan dalam komentarnya, pastikan VM Anda dapat diakses di jaringan lokal. Menggunakan koneksi jaringan 'jembatan' dalam pengaturan VM harus mencapai itu. Kemudian menggunakan salah satu komputer Anda yang lain (bahkan host Anda), periksa untuk melihat apakah Anda dapat masuk ke server SSH. Jika Anda bisa, selamat, mari beralih ke langkah berikutnya.

2) Selanjutnya Anda perlu tahu cara port forward pada router Anda. Karena Anda tidak menyebutkan router apa yang Anda miliki, Anda harus mencari tahu sendiri. Port 22 adalah yang digunakan oleh SSH. Tentu saja Anda dapat mendengarkan pada port yang lebih tinggi pada router untuk menghindari agar log Anda diisi oleh sekelompok kiddies skrip yang mencoba meretas ke server Anda, dan kemudian meneruskan port ke 22 di server Anda. Misalnya, mari bayangkan IP lokal Anda untuk server Anda adalah 192.168.0.10. IP WAN (Internet) Anda adalah 99.99.99.99.

99.99.99.99:60022 -> Router -> 192.168.0.10:22

Yang ingin Anda lakukan adalah memberi tahu router Anda untuk mendengarkan pada port 60022, dan meneruskannya ke IP 192.168.0.10, dan port 22.

Untuk mengetahui apa IP WAN Anda, cukup google 'apa alamat IP saya'. Ada beberapa cara lain, tetapi ini adalah yang termudah.

Sekarang, setelah Anda mengatur perute, coba terhubung dengan komputer luar ke IP WAN Anda dengan port yang lebih tinggi. Anda dapat menambatkan dengan ponsel Anda ke laptop untuk mencapai itu.

Jika Anda dapat terhubung dengan itu, selamat lagi.

3) Sekarang Anda harus memastikan alamat IP Anda tetap statis di jaringan lokal Anda, dan Anda harus mendapatkan entri DNS dinamis untuk alamat IP WAN Anda. Dengan cara ini Anda akan menggunakan nama domain, bukan IP WAN Anda. Google 'dns dinamis' untuk menemukan beberapa layanan gratis.

Harapan itu membantu.

G Trawo
sumber
Apakah ini "99.99.99.99:60022 -> Router -> 192.168.0.10:22" perintah yang sebenarnya? apa artinya "Router"? Maksudku, apa yang terjadi di sini?
m4l490n
@ m4l490n Tidak, itu bukan perintah. Ini hanyalah cara untuk menunjukkan "aliran" koneksi. 99.99.99.99 hanyalah alamat IP yang saya pilih. Saya juga bisa menunjukkan XXX.XXX.XXX.XXX, tetapi saya menemukan angka lebih mudah dimengerti. 60022 adalah port "luar" tempat router mendengarkan. Kemudian port forwarding ke alamat internal 192.168.0.10 dan memindahkannya ke port 22. Alasan saya tidak masuk ke detail lebih lanjut adalah karena OP tidak menyatakan apa router (dan firmware) yang dia gunakan.
G Trawo
4

Pengaturan pribadi saya adalah sebagai berikut:

  1. Pada router forward port 22 dari mesin jarak jauh ke 2222 mesin lokal, katakanlah 192.168.0.33 misalnya. Dengan begitu Anda masih dapat memiliki akses ssh ke OS utama pada mesin, sedangkan 2222 untuk OS virtual.

    masukkan deskripsi gambar di sini

    1. Pada kotak virtual, maju host OS 192.168.0.33 port 2222 ke port OS tamu 22. IP tamu dapat ditemukan dengan ifconfigperintah pada tamu itu sendiri.

    masukkan deskripsi gambar di sini

Sekarang jika Anda mengetahui IP router Anda, Anda dapat ssh ke IP router Anda, dan itu akan secara otomatis diteruskan ke port 2222 dari mesin fisik Anda. Mesin fisik akan memberikan koneksi itu ke port 22 mesin virtual (asalkan VM berjalan).

Jika Anda ingin ssh dari jaringan lokal, gunakan ssh -p 222 192.168.0.33

Sergiy Kolodyazhnyy
sumber