Proxy Anda yang disetujui berjalan di host lompat yang hanya mendengarkan di loopback, jadi tidak ada apa pun di luar mesin itu yang dapat mencapainya. Anda tidak memerlukan VPN atau proxy baru; Anda memerlukan satu port dari mesin itu yang dibawa ke satu port milik Anda. Penerusan lokal melakukan tepat itu, dan hanya perlu satu perintah plus satu pengaturan aplikasi. Kebingungan biasanya muncul dari tertukarnya alamat loopback mana yang milik mesin mana.

Putuskan apakah proxy tetap sudah ada

Teknik ini meneruskan layanan yang sudah berjalan. Jika host jarak jauh hanya memiliki daemon SSH dan tidak punya proxy, berapa pun penerusan tidak akan membuatnya, dan koneksi akan ditolak dari sisi jarak jauh. Pastikan proxy terikat, porta-nya berapa, dan apakah ia mendengarkan di 127.0.0.1 atau pada alamat antarmuka tertentu, karena alamat itulah yang harus dituju penerusan.

Memastikannya lebih dulu menyelamatkan Anda dari menelusuri masalah terowongan yang tidak pernah tersambung ke apa pun.

Bangun penerusan dan baca perintahnya

Bentuk yang Anda inginkan mengikat port loopback di laptop Anda dan menghubungkannya, dari sisi server, ke alamat proxy seperti yang dilihat server.

ssh -NT -o ControlPath=none -o ExitOnForwardFailure=yes \
  -L 127.0.0.1:13128:127.0.0.1:3128 [email protected]

-N menekan perintah jarak jauh dan -T menekan alokasi termios, karena Anda menginginkan terowongan, bukan shell. Alamat loopback pertama adalah tempat laptop mendengarkan; yang kedua diresolusikan oleh server SSH, jadi 127.0.0.1 di sana berarti proxy di mesin itu. ExitOnForwardFailure membuat perintah gagal dengan lantang jika port lokal sudah terpakai, alih-alih memulai sesi yang tidak meneruskan apa pun. Tulis alamat tujuan seperti server meresolusikannya, karena nama yang hanya bisa diresolusikan laptop Anda akan gagal di sisi jauh.

Kebijakan server sendiri berlaku sebelum semua ini berfungsi. AllowTcpForwarding harus mengizinkannya, dan PermitOpen dapat membatasi tujuan dan port yang boleh dicapai sesi, sehingga penerusan yang diterima klien tetap bisa ditolak server. Penolakan muncul sebagai kesalahan penerusan atau kanal di klien, dan membaca pesan itu lebih cepat daripada mengedit perintah.

Arahkan satu aplikasi ke penerusan

Konfigurasikan aplikasi untuk memakai proxy HTTP di http://127.0.0.1:13128, dengan kredensial jika proxy jarak jauh memerlukannya. Pertahankan verifikasi sertifikat milik aplikasi untuk tujuan HTTPS, karena terowongan proxy tidak menggantikannya. Ini penerusan tetap satu layanan, jadi aplikasi harus diberi tahu tentang proxy alih-alih dibiarkan menemukannya sendiri.

Pemeriksaan cepat sebelum mengonfigurasi apa pun secara permanen: curl -x http://127.0.0.1:13128 -I https://example.com, yang melatih metode HTTP CONNECT yang harus didukung proxy.

Pertahankan wewenang di tempatnya

Proxy jarak jauh tetap memutuskan tujuan dan metode yang diizinkannya, dan login SSH tidak boleh diam-diam memberi setiap akun relai web umum. Mengikat ke 127.0.0.1 di laptop menghindari penerbitan port ke jaringan lokal Anda, dan itu tidak membuat port menjadi privat dari proses lain di mesin yang sama. Mengganti ikatan itu dengan alamat wildcard untuk berbagi proxy adalah cara relai terbuka tak terkelola tercipta.

Transport SSH melindungi lompatan ke server. Setelah titik itu proxy membuka koneksinya sendiri, jadi permintaan HTTP biasa ke tujuan tetap biasa di luar server meskipun segmen pertama terenkripsi.

Verifikasi kedua ujung, lalu bersihkan

Penyiapan terowongan lokal dan keberhasilan layanan jarak jauh adalah hasil yang berbeda, dan status keluar perintah hanya memberi tahu Anda tentang yang pertama. Periksa bahwa pendengar ada dengan ss -ltn, lalu lakukan permintaan aplikasi yang diizinkan dan permintaan yang seharusnya ditolak proxy. Jika keduanya berperilaku seperti yang diharapkan, jalurnya nyata; jika terowongan menyala dan setiap permintaan gagal, proxy menolak atau tidak dapat mencapai tujuan.

Setelah selesai, hentikan proses SSH yang memilikinya, hapus pengaturan proxy dari aplikasi, dan pastikan port lokal sudah hilang alih-alih meninggalkan pendengar yang hidup lebih lama dari tugas.

Artikel terkait