SSH melalui proxy
Jika firewall memungkinkan Anda, Anda dapat menjalankan ssh ke port mana saja, tetapi itu membutuhkan server ssh untuk mendengarkan pada port itu. Port 80 tidak mungkin berfungsi, karena sebagian besar tempat yang memiliki firewall menganalisis lalu lintas di port itu dan memblokir apa pun yang bukan HTTP. Tetapi port 443, yang biasanya merupakan port HTTPS, sering berfungsi, karena SSH dan HTTPS sangat mirip satu sama lain dengan perangkat lunak penyaringan, sehingga sesi SSH Anda akan terlihat seperti sesi HTTPS. (Dimungkinkan untuk membedakan HTTPS dan SSH, jadi ini tidak akan berfungsi jika firewall cukup canggih.)
Jika Anda memiliki kendali atas server, buat ia mendengarkan pada port 443 di samping 22 (port ssh normal). Anda dapat mengkonfigurasi port di /etc/ssh/sshd_config
: tambahkan baris
Port 443
selain Port 22
itu harus sudah ada. Perhatikan bahwa ini mengasumsikan bahwa server ssh juga bukan server HTTPS. Jika ya, Anda harus menemukan port lain yang memungkinkan Anda menggunakan firewall atau menemukan server ssh lainnya (lihat penerusan di bawah).
Jika Anda tidak perlu mengatur proxy web di browser web Anda, maka Anda dapat mencoba menghubungkan langsung:
ssh -p 443 myserver.example.com
Jika berhasil, tentukan alias di ~/.ssh/config
:
Host myserver
HostName myserver.example.com
Port 443
Jika Anda perlu mengatur proxy web di browser web Anda, katakan ssh untuk pergi melalui proxy. Pasang pembuka botol . Tetapkan alias seperti ini di Anda ~/.ssh/config
, di mana http://proxy.acme.com:3128/
proxy yang Anda gunakan untuk HTTPS ke luar (ganti dengan nama host dan port yang tepat):
Host myserver
HostName myserver.example.com
Port 443
ProxyCommand /usr/bin/corkscrew proxy.acme.com 3128 %h %p
SSH melalui SSH
Jika Anda dapat menggunakan mesin luar dengan salah satu teknik di atas tetapi tidak ke mesin yang Anda minati, gunakan itu untuk meneruskan koneksi. Dengan anggapan Anda dapat melakukan ssh ke mesin yang dipanggil mygateway
dan Anda ingin membuka server SSH mytarget
, instal netcat-openbsd pada mygateway
(atau, jika tidak menjalankan Ubuntu, pastikan ia memiliki nc
perintah). Letakkan ini di ~/.ssh/config
:
Host mytarget
ProxyCommand ssh mygateway nc %h %p
SSH ke Apache
Jika host yang ingin Anda sambungkan sudah menjalankan Apache dan mendengarkan pada port 443, dan Anda memiliki kendali atas host itu, Anda dapat mengatur Apache ini untuk menerima koneksi SSH dan meneruskannya. Lihat Tunneling SSH melalui HTTP (S) .
man ssh
mengungkapkan port: host: hostport. Jadi cobassh 80:server.com
atau lebih.