Bagaimana saya bisa ssh menjadi tamu ubuntu - berjalan pada host win10 - dari server linux jarak jauh?

10

Versi pendek

Jika saya menjalankan VirtualBox VM tamu Ubuntu dari host Windows 10, langkah apa yang harus saya ambil sshdari server linux jarak jauh ke VM tamu Ubuntu?


_______________________
[                     ]
[ Windows 10          ]
[ ___________________ ]            ____________________
[ [                  ]]            [                   ]
[ [ Ubuntu VM (guest) <----HOW?---- SUSE remote server ]
[ [__________________]]            [___________________]
[_____________________]

Versi panjang

Saya bingung karena, AFAIK jika saya tidak menggunakan VM tamu Ubuntu, dan bukannya menggunakan mesin Ubuntu nyata, saya hanya bisa cat /etc/hosts, menemukan alamat IP lokal dan kemudian dari jarak jauh hanya:

user@remote --ssh--> user@<local IP>

Saya sudah mengatur kunci ssh sehingga saya bisa ssh dari tamu Ubuntu ke server remote SUSE (yaitu tamu ~/.ssh/id_rsa.pubsudah disimpan di remote ~/.ssh/authorized_keys). Yaitu saya sudah bisa:

ssh -Y user@remote

Tanpa kesulitan, tetapi saya tidak dapat melakukannya sebaliknya hanya karena saya tidak tahu apa alamat IP tamu saya. Dan saya sudah mencoba sshmenggunakan alamat IP di "Informasi Koneksi" dari GUI Ubuntu.

Juga harus jelas:

  • guest VM adalah Ubuntu 12,04 LTS (64-bit)

  • Pengaturan VirtualBox kebanyakan: default

  • Aktifkan Network Adapter: NAT (kabel tersambung, tidak ada port forwarding)

Saya belum mengatur server ssh, tapi saya tidak yakin itu perlu (?), Ini adalah pemahaman saya sejauh ini.

Jadi, mengingat bahwa saya menjalankan guest Ubuntu VirtualBox VM dari host Windows 10, langkah apa yang perlu saya ambil sshdari server linux jarak jauh ke dalam VM guest Ubuntu?

hello_there_andy
sumber

Jawaban:

14

Ini biasanya disebut situasi "NAT ganda" ketika Anda berada di belakang router. Anda harus meneruskan dari router perbatasan ke sistem Windows, dan kemudian meneruskan di VBox ke VM. Anda mungkin juga harus meneruskan port 22 dari koneksi jaringan yang sebenarnya ke adaptor VBox NAT, tapi saya tidak sejelas itu untuk Windows.

Namun, pada akhirnya, ada paling banyak tiga hal yang harus Anda lakukan di sini. Semuanya ada di Windows, atau tidak di Ubuntu Linux, jadi sebagian besar jawaban Anda ada di Super User atau di tempat lain.

  1. (Jika Anda berada di belakang perute di jaringan tempat Win10 aktif) Atur Port Forwarding pada perute di jaringan untuk meneruskan Port 22 ke sistem Windows 10 Anda.

  2. Setel Windows Firewall untuk mengizinkan koneksi masuk pada Port 22. Anda mungkin juga perlu menentukan bahwa Anda ingin Port 22 diteruskan dari adaptor jaringan masuk Anda ke jaringan NAT pada pengaturan jaringan VM.

  3. Tetapkan aturan penerusan NAT pada jaringan NAT di VirtualBox untuk meneruskan Port 22 di host ke Port 22 di VM .

Pendekatan yang sedikit lebih bagus semacam memotong Langkah 2 dan Langkah 3 di sini adalah dengan menggunakan Mode Bridged dalam pengaturan jaringan VM; ini kemudian akan mendapatkan IP dari jaringan yang sama dengan sistem Windows 10 terhubung, dan Anda kemudian dapat port forward port 22 di router tepi (langkah # 1) ke IP yang ditugaskan oleh jaringan ke VM itu sendiri. Ini sedikit kurang menyakitkan daripada harus melakukan banyak hop dan konfigurasi agar Port 22 berfungsi.

CATATAN: Beberapa ISP memfilter Port 22 sehingga lalu lintas Port 22 tidak akan mencapai sistem; Anda mungkin harus mengatur port yang lebih tinggi dari Port 22 (seperti 2022 atau port lain yang tidak standar> 1024) sebagai gantinya jika ini masalahnya.


Sedangkan untuk menemukan IP tamu, info itu akan di output ifconfig -aatau ip -4 addr listdi tamu Linux. Itu bagian termudah dari semua ini, karena ini akan sama, Bridged atau NAT.

Thomas Ward
sumber
Saya akan meneliti ini terima kasih, saya benar-benar tidak tahu bagaimana Anda menjawab begitu cepat ... Akan menghapus komentar ini setelah meneliti
hello_there_andy
1
@hello_there_andy Saya melakukan banyak virtualisasi di laptop saya, baik melalui wadah LXC / LXD berbasis Linux pada pengaturan NAT, atau melalui VMware, dengan kejahatan serupa dengan NAT (pada dasarnya, saya terbiasa dengan serangkaian masalah ini heh). Prosesnya serupa di Linux dan Windows, tetapi sama sekali berbeda dalam hal langkah, meskipun dalam kasus saya VMs saya tidak perlu di luar -> in; untuk VM tersebut, saya menempatkan mereka pada hypervisor ESXi khusus yang merupakan mesin yang didedikasikan untuk menjalankan VM, dan menjembatani langsung ke pengaturan Ethernet yang ada (tidak ada NAT di sana heh). Tapi itu pengaturan yang tidak biasa, tentu saja.
Thomas Ward
1
@hello_there_andy pastikan tamu telah openssh-servermenginstalnya juga - sehingga Anda dapat menerima SSH. Di luar itu, sisanya adalah jaringan Windows / firewall / konfigurasi. (Karenanya, Pengguna Super dan tidak Meminta Ubuntu)
Thomas Ward
3

Anda harus port forwardingmasukWindows 10 VM player

Anda harus mengatur port eksternal pada mesin Windows 10, yang akan diteruskan ke service portpada virtual machinedi NAT network.

Tautan ini menjelaskan cara melakukannya

Yaron
sumber
1
Meskipun ini secara teoritis dapat menjawab pertanyaan, tautan hanya jawaban yang umumnya disukai. Lebih disukai bagi Anda untuk memasukkan informasi yang relevan dari pos-pos yang ditautkan, seandainya pos-pos semacam itu hilang di beberapa titik di masa mendatang.
Thomas Ward
Terima kasih atas komentarnya, dan untuk memberikan detail dalam jawaban Anda.
Yaron