Saya telah menggambar beberapa sketsa
Mesin, di mana perintah terowongan ssh diketik (atau dalam kasus Anda: Putty dengan tunneling dimulai) disebut »host Anda« .
pengantar
lokal: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.
ssh -L sourcePort:forwardToHost:onPort connectToHost
berarti: terhubung dengan ssh ke connectToHost
, dan meneruskan semua upaya koneksi ke port lokal sourcePort
ke onPort
mesin yang dipanggil forwardToHost
, yang dapat dijangkau dari connectToHost
mesin.
terpencil: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.
ssh -R sourcePort:forwardToHost:onPort connectToHost
berarti: terhubung dengan ssh ke connectToHost
, dan meneruskan semua upaya koneksi ke porta jarak jauh sourcePort
ke onPort
mesin yang dipanggil forwardToHost
, yang dapat dijangkau dari mesin lokal Anda.
Contoh anda
Gambar pertama mewakili situasi Anda. Kotak biru yang dipanggil your host
adalah mesin Windows Anda dari mana Anda memulai Putty ke server Ubuntu Anda, yang disebut remotehost
dalam gambar saya. Koneksi ke port hijau (dalam nomor port kasus Anda 4000
) diteruskan ke port MySQL merah muda 3306
dari localhost
mesin server Ubuntu Anda (yaitu server Ubuntu itu sendiri).
Untuk mengaturnya dengan Putty
Mulai Putty dan masukkan pengaturan koneksi Anda yang biasa (Hostname atau alamat IP) Di pohon di sisi kiri, navigasikan ke
Koneksi → SSH → Terowongan
dan membuat terowongan lokal baru dengan port sumber 4000
(123 pada gambar) dan tujuan localhost:3306
(localhost: 456 pada gambar).
Jangan lupa klik Add .
Kemudian navigasikan kembali ke sesi dan klik Simpan untuk menyimpan pengaturan Anda untuk waktu berikutnya. Sekarang Anda dapat menggunakan koneksi yang disimpan untuk masuk ke server Anda dan setelah Anda berhasil masuk, setiap kali Anda terhubung ke port 4000 pada host Anda, Anda benar-benar akan terhubung ke port 3306 di server Ubuntu.
Jawaban sederhananya adalah ya, tetapi harap dicatat bahwa terowongan sebenarnya dimulai di komputer Anda. Cara kerjanya adalah Anda membuat koneksi SSH ke server (yang aman) dan kemudian menginstruksikan SSH untuk mendengarkan port di sisi Anda dan meneruskan koneksi apa pun yang masuk - ke port tertentu pada alamat host tertentu pada sisi server. Target terowongan tidak harus server yang sama - itu bisa berupa alamat lain yang valid, yang - dalam hal ini bukan server yang menjalankan server SSH itu sendiri - akan melihat koneksi yang masuk seolah-olah itu berasal dari server SSH alih-alih dari klien Anda.
Untuk mengaturnya, buka dialog konfigurasi Putty, pilih pengaturan koneksi yang biasanya Anda gunakan untuk mengakses server Anda dan klik "muat" (dan bukan "buka"). Kemudian di pohon di sisi kiri, navigasikan ke Connection-> SSH-> Tunnels dan buat terowongan "lokal" baru dengan port sumber 4000 dan tujuan "localhost: 3306" (karena alamat tujuan diselesaikan pada server, dari sudut pandang server, port MySQL ada di localhost). Kemudian navigasikan kembali ke "sesi" dan klik "Simpan" untuk menyimpan pengaturan Anda untuk waktu berikutnya. Sekarang Anda dapat menggunakan koneksi yang disimpan untuk masuk ke server Anda dan setelah Anda berhasil masuk, setiap kali Anda terhubung ke port 4000 di komputer Anda, Anda benar-benar akan terhubung ke port 3306 di server.
Jika Anda serius ke terowongan, dan menjalankan klien MS-Windows, maka saya sarankan untuk melihat Putty Tunnel Manager yang menggunakan Putty untuk mengatur dan menjalankan terowongan dengan mudah tanpa harus memiliki konsol dempul terbuka.
sumber