Apa yang mungkin tergantung pada apa yang memungkinkan firewall.
Jika firewall memungkinkan lalu lintas sewenang-wenang di port 443
Beberapa firewall mengambil jalan keluar sederhana dan mengizinkan apa pun di port 443. Jika itu masalahnya, cara termudah untuk mencapai server rumah Anda adalah dengan membuatnya mendengarkan koneksi SSH pada port 443. Jika mesin Anda terhubung langsung ke Internet, cukup tambahkan Port 443
ke /etc/ssh/sshd_config
atau /etc/sshd_config
tepat di bawah baris yang mengatakan Port 22
. Jika mesin Anda berada di belakang router / firewall yang mengarahkan kembali koneksi masuk, buatlah mengarahkan koneksi masuk ke port 443 ke port server 22 Anda dengan sesuatu seperti
iptables -t nat -I PREROUTING -p tcp -i wan0 --dport 443 -j DNAT --to-destination 10.1.2.3:22
di mana wan0
antarmuka WAN pada router Anda dan 10.1.2.3 adalah alamat IP server Anda di jaringan rumah Anda.
Jika Anda ingin memperbolehkan server rumah Anda mendengarkan koneksi HTTPS dan koneksi SSH pada port 443, itu mungkin - lalu lintas SSH dan HTTPS dapat dengan mudah dibedakan (di SSH, server berbicara terlebih dahulu, sedangkan dalam HTTP dan HTTPS, klien berbicara pertama). Lihat http://blog.stalkr.net/2012/02/sshhttps-multiplexing-with-sshttp.html dan http://wrouesnel.github.io/articles/Setting%20up%20sshttp/ untuk tutorial tentang cara mengatur ini dengan sshttp , dan Juga Memiliki SSH pada port 80 atau 443 saat server web (nginx) berjalan pada port ini
Jika Anda memiliki proxy web yang memungkinkan tunnel CONNECT
Beberapa firewall memblokir semua koneksi keluar, tetapi memungkinkan menjelajah web melalui proxy yang memungkinkan metode HTTPCONNECT
untuk secara efektif menembus lubang di firewall. The CONNECT
Metode dapat dibatasi pada port tertentu, sehingga Anda mungkin perlu untuk menggabungkan ini dengan mendengarkan pada port 443 seperti di atas.
Untuk membuat SSH melalui proxy, Anda dapat menggunakan alat seperti pembuka botol . Di Anda ~/.ssh/config
, tambahkan ProxyCommand
baris seperti di bawah ini, jika proxy web Anda adalah http://web-proxy.work.example.com:3128
:
Host home
HostName mmm.dyndns.example.net
ProxyCommand corkscrew web-proxy.work.example.com 3128 %h %p
Membungkus SSH dalam HTTP (S)
Beberapa firewall tidak mengizinkan lalu lintas SSH, bahkan pada port 443. Untuk mengatasinya, Anda perlu menyamarkan atau menyalurkan SSH menjadi sesuatu yang dibiarkan firewall. Lihat http://dag.wiee.rs/howto/ssh-http-tunneling/ untuk tutorial tentang melakukan ini dengan proxytunnel .