Saya menggunakan
ssh [email protected] -g -L 4321:localhost:28017
untuk membangun terowongan dari MacBook saya ke server khusus saya di penyedia hosting saya. Itu bekerja dengan baik. Sekarang saya ingin mengakses beberapa situs admin di server jauh (halaman status MongoDB, halaman RabbitMQ dll, semua di port yang berbeda). Semuanya terikat ke 127.0.0.1 pada mesin jarak jauh. Bagaimana saya bisa mengubah perintah ssh ini ke
- tetapkan nama untuk terowongan dan gunakan mis. "my.tunnel.name" di browser saya
- untuk dapat menentukan port jarak jauh di browser saya; Saya ingin terhubung ke my.tunnel.name:port, agar dapat memanggil situs yang berbeda
Apakah ini mungkin dengan ssh? Saya sudah membaca halaman manual dan mencari-cari di sekitar selama dua hari sekarang, tetapi sepertinya tidak berhasil.
--edit 2012-06-01 23: 36-- Berkat jawaban dan komentar yang diberikan, port forwarding berfungsi sekarang
ssh [email protected] -D 4321
Saya dapat mengatur ini sebagai proxy di browser saya dan browser akan memperlakukan setiap permintaan ke localhost: anyport seolah-olah dibuat di server jauh. Menggunakan nama sekarang tidak diperlukan, karena browser hanya untuk situs server jarak jauh.
Anda dapat menetapkan nama dengan menggunakan fakta bahwa adaptor loopback Anda pada dasarnya akan merespons alamat apa pun di jaringan 127.0.0.0/8.
Jadi, alih-alih mengikat ke port 4321 Anda bisa mengikat ke 127.1.2.3:4321. Kemudian cukup setup entri host yang memetakan nama ke alamat loopback yang Anda gunakan sehingga foo.bar memetakan
127.1.2.3
.Dalam konfigurasi SSH saya di admin workstation saya, saya memiliki banyak terowongan yang dikonfigurasi sehingga mereka mengikat ke beberapa alamat dalam rentang loopback, dan saya memiliki entri dalam file host saya jadi saya membuka banyak terowongan secara paralel menggunakan port yang sama dan membedakannya melalui nama.
Jadi jika Anda terhubung seperti ini
Dan file host Anda memiliki garis seperti ini.
Maka Anda harus dapat terhubung ke my.tunnel.name:4321 dari mesin lokal Anda.
Jika Anda memiliki ruang alamat IP tambahan di jaringan yang terhubung dengan klien ssh Anda, Anda bahkan dapat menetapkan alamat sekunder untuk antarmuka Ethernet Anda dan menggunakan salah satu IP asli Anda, dan kemudian mengatur entri dalam DNS Anda jika Anda ingin sistem lain dapat dapat untuk menggunakan terowongan SSH Anda.
Opsi -L
-L [bind_address:]port:host:hostport
akan memungkinkan Anda menggunakan alamat IP yang valid pada sistem lokal untuk mengikat. Anda perlu menyertakan-g
opsi juga jika Anda ingin host lain dapat terhubung melalui ssh tunnel Anda.sumber
ifconfig l0 alias 127.0.1.1 255.255.255.0
jika tidak tip yang bagus!-N
di akhir perintah. Dengan cara ini lebih mudah untuk mengingat bahwa itu adalah terowongan, bukan sembarang koneksi SSH.127.1.2.3
saya harus melakukan ini di macbook saya:,ifconfig lo0 alias 127.1.2.3 255.255.255.0
yang ditambahkan127.1.2.3
sebagai alamat baru pada antarmukalo0
.Buat port tingkat penerusan aplikasi Dinamis (kaus kaki proxy pada dasarnya) dengan terowongan SSH Anda, dan kemudian arahkan aplikasi Anda melalui yang ini. Untuk membuat terowongan dinamis, sambungkan sebagai berikut:
Kemudian konfigurasikan aplikasi Anda untuk menggunakan ini sebagai proxy SOCKSv5.
Jika Anda ingin nama host terikat dengan ini, tambahkan saja
/etc/hosts
entri yang menunjuk ke 127.0.0.1, tetapi cara yang lebih cantik mungkin dengan menambahkan 127.0.0.2 untuk terowongan pertama, dan entri host untuk yang ini, 127.0.0.3 untuk yang kedua tunnel dan entri host terpisah untuk yang ini, dll. Jika Anda menambahkan alias untuk 127.0.0.1, kadang-kadang alias ini akan muncul dalam perintah pencarian lain dari localhost yang dapat membingungkan!Untuk menggunakannya dengan lancar di browser web, Anda dapat menggunakan addon proxy, sebagai contoh saya mendukung browser web Chrome dan untuk yang ini saya menggunakan addon yang disebut
Proxy Switchy!
. Anda dapat mengunduhnya di sini:https://chrome.google.com/webstore/detail/caehdcpeofiiigpdhbabniblemipncjj
Dalam konfigurasi addon ini saya dapat mendefinisikan beberapa proksi yang terpisah, dan kemudian mengikat ekspresi reguler dari host / URL untuk menggunakan proksi tertentu, dengan cara ini saya akan selalu diarahkan dengan benar melalui terowongan yang tepat tanpa harus secara manual beralih. Harap beri tahu saya jika Anda membutuhkan klarifikasi lebih lanjut tentang salah satu langkah ini!
sumber