Saya memiliki laptop klien fedora21 linux di belakang firewall perusahaan (yang memungkinkan melalui port http dan https tetapi tidak ssh 22) dan saya memiliki server fedora21 linux di rumah di belakang router saya sendiri. Menjelajah dengan https berfungsi ketika saya menentukan alamat IP publik server rumah saya (karena saya mengkonfigurasi router rumah saya)
Apakah mungkin untuk ssh (remote shell) ke server rumah saya melalui port http / s?
Saya melihat alat yang disebut corkscrew
. akankah itu membantu?
opensshd
dan httpd
jalankan di server rumah. Apa lagi yang perlu konfigurasi?
sshd
http-proxy
MMM
sumber
sumber
Jawaban:
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 mengatakanPort 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 sepertidi 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 HTTP
CONNECT
untuk secara efektif menembus lubang di firewall. TheCONNECT
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
, tambahkanProxyCommand
baris seperti di bawah ini, jika proxy web Anda adalahhttp://web-proxy.work.example.com:3128
: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 .
sumber
ProxyCommand nc -X connect -x __proxy_IP__:__port__ %h %p
Anda dapat mencoba cara lain, mengatur server web, yang dapat ssh server Anda,
https://github.com/huashengdun/webssh
sumber
Anda dapat menggunakan sslh jika Anda ingin menjalankan KEDUA server HTTPS dan server SSHd pada port 443 yang sama.
sumber