Hai di sini adalah situasi saya memiliki server di pusat data perusahaan untuk proyek. Saya memiliki akses SSH ke mesin ini di port 22. Ada beberapa mesin virtual yang berjalan di server ini dan kemudian di belakang setiap hal banyak sistem operasi lain bekerja. Sekarang Karena saya berada di belakang firewall pusat data, penyelia saya bertanya apakah saya dapat melakukan sesuatu yang dapat saya berikan kepada banyak orang di akses Internet ke mesin virtual ini secara langsung. Saya tahu jika saya diizinkan untuk mendapatkan lalu lintas di port selain 22 maka saya dapat melakukan penerusan port. Tetapi karena saya tidak diperbolehkan ini maka apa yang bisa menjadi solusi dalam hal ini. Orang-orang yang ingin terhubung mungkin benar-benar idiot. Yang mungkin senang hanya dengan membuka dempul di mesin mereka atau bahkan filezilla.
Saya tidak memiliki firewall di tangan saya atau port apa pun selain 22 terbuka dan bahkan jika saya meminta mereka tidak mengizinkan untuk membuka. 2 kali SSH bukan sesuatu yang diinginkan penyelia saya.
sumber
Jawaban:
Anda harus membuka ssh tunnel dari komputer Anda ke server di pusat data. Beri nama ini sebagai "server1". Jika Anda menggunakan openssh, Anda bisa menjalankannya
Ini akan membuka koneksi dari komputer Anda di port 8080 ke server, port 8080, melewatkan firewall di antaranya. Dengan asumsi apache Anda mendengarkan pada port 8080. Format port forward mendengarkan IP: port lokal: alamat jarak jauh: port jarak jauh. Tentu saja untuk server tunggal yang bisa Anda gunakan juga
Harap dicatat bahwa localhost di -L parameter relatif ke server1. Dengan kata lain, server melihat koneksi datang dari localhost, padahal sebenarnya itu datang dari komputer Anda melalui koneksi ssh.
Anda juga perlu parameter
dalam konfigurasi ssh server (biasanya / etc / ssh / sshd_config).
Setelah ini, orang lain dapat terhubung ke komputer Anda pada port 8080 untuk mendapatkan koneksi melalui Apache Reverse Proxy. Jika Anda memerlukan proxy umum (agar pengguna dapat memilih alamat, bukan hanya alamat spesifik dalam konfigurasi Apache), Anda harus menginstal squid di server1 dan menggunakan ssh tunnel ke port squid.
sumber
ssh -L0.0.0.0:8080:localhost:8080 you_username@server1
maka jika koneksi masih akan melalui port 22 firewall (karena jika itu tidak terjadi maka saya tidak bisa melakukan apa-apa) dan ssh tunnel akan dibuat antara mesin lokal dan mesin remote pada port yang ditentukan tetapi seluruh lalu lintas akan terjadi (port 22) di firewall.ssh -L0.0.0.0:8080:remote_server_address:8080 you_username@server1
saya ingin tahu apa yang dapat dimasukkan sebagai remote_server_address adalah IP mesin internal yang ingin saya gunakan server1 sebagai perantara. Apakah saya mengerti ini dengan benar?Mungkin Anda bisa menggunakan beberapa hal seperti SshMeIn . Ini adalah sistem web opensource yang akan membuat terowongan ssh melalui firewall, Anda bahkan tidak perlu membuka porta.
sumber