Saya berada di belakang firewall jaringan yang tidak membiarkan saya ssh melalui port default. Karena itu, saya tidak bisa mendorong cabang bzr ke repositori saya. Saya ingin tahu apakah mungkin untuk proksi ssh melalui port 80 sehingga saya bisa mendorong cabang.
Saya mendengar pembuka botol memungkinkan Anda melakukan itu, tetapi saya tidak yakin bagaimana melakukannya.
Jika Anda tahu ada server proxy yang berfungsi yang memungkinkan Anda melakukannya, sebutkan saja.
man ssh
mengungkapkan port: host: hostport. Jadi cobassh 80:server.com
atau lebih.Jawaban:
Firewall korporat yang baik akan memeriksa lalu lintas terlepas dari port sehingga mengubah port mungkin tidak berfungsi.
Jika Anda memiliki kontrol atas server, dan masih ingin mencobanya, Anda dapat mengubah port sshd ke port 80. Peringatan Jika Anda memiliki sesuatu yang lain berjalan pada port 80 (pada server) ini tidak akan berfungsi dan kemungkinan akan berarti Anda sepenuhnya kehilangan akses SSH ke server!
Anda harus mengedit
/etc/ssh/sshd_config
dan mengubahPort
ke80
. Lalu lariDan kemudian hubungkan:
Jalur bzr Anda kemudian akan terlihat seperti:
bzr+ssh://host:80/path/
Metode lain adalah dengan menggunakan WebDav. Ini harus mengatasi masalah firewall sepenuhnya karena semuanya terjadi pada Port 80 tetapi akan mengharuskan Anda untuk menjalankan Apache dan mengatur sejumlah hal:
VPN mungkin menjadi pilihan tetapi jika
ssh
dikunci, saya berharap itu akan dikecualikan juga.Anda mungkin hanya ingin berbicara dengan admin jaringan Anda. Anda perlu melakukan sesuatu dan mereka menghentikan Anda. Jika mereka punya alasan untuk memblokir
ssh
, kemungkinan mereka akan melihat upaya ekstrem untuk menghindarinya secara negatif ...Singkatnya, mungkin lebih aman untuk berbicara dengan mereka.
sumber
Port
baris, dengan satu untuk setiap port dalam/etc/ssh/sshd_config
file.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 barisselain
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:
Jika berhasil, tentukan alias di
~/.ssh/config
: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 manahttp://proxy.acme.com:3128/
proxy yang Anda gunakan untuk HTTPS ke luar (ganti dengan nama host dan port yang tepat):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 SSHmytarget
, instal netcat-openbsd padamygateway
(atau, jika tidak menjalankan Ubuntu, pastikan ia memilikinc
perintah). Letakkan ini di~/.ssh/config
: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) .
sumber
Saya baru saja membaca solusi canggih di sini:
http://benctechnicalblog.blogspot.hu/2011/03/ssh-over-connect-over-port-80.html
Anda dapat SSH pulang pada port 80 bahkan jika server rumah Anda menjalankan server web pada port 80 juga.
Dengan asumsi server rumah menjalankan Apache. Idenya melibatkan mengaktifkan mod_proxy di server Anda, kemudian membatasi itu agar terhubung ke localhost (proxy.conf):
Sekarang Anda dapat melakukan permintaan koneksi HTTP ke host lokal dan server web akan membuat terowongan untuk Anda, Anda hanya perlu memastikan semua lalu lintas melewati proxy Anda:
Pastikan koneksi localhost ke SSH tidak istimewa (untuk menghindari membiarkan orang asing masuk ...)
Ini akan berfungsi jika Anda berada di belakang router yang hanya mengizinkan port 80 keluar.
Jika Anda berada di belakang proxy (jadi Anda perlu mengatur proxy di browser Anda untuk mendapatkan web), Anda harus terlebih dahulu membuat terowongan ke host Anda sendiri, kemudian mengeluarkan permintaan CONNECT lain di dalam terowongan ini untuk sampai ke host Anda. Ini lebih canggih, Anda harus menggunakan 2 netcats untuk ini.
Segalanya mungkin, tetapi lakukanlah demi risiko Anda sendiri ...
MEMPERBARUI:
Atau sederhananya, cukup gunakan aplikasi web yang memberi Anda SSH melalui browser. http://en.wikipedia.org/wiki/Web-based_SSH
sumber
Jika Anda tidak memiliki kendali atas server untuk mengubah port SSH ke port 80 atau jika Anda tidak bisa SSH over port 80 karena firewall memblokir Anda dari mentransfer data seperti itu melalui port 80, Anda dapat mencoba TOR.
TOR adalah jaringan besar. Komputer Anda terhubung ke komputer lain di suatu tempat di dunia, komputer itu terhubung ke komputer lain hingga mencapai server SSH. Ini semua ramah firewall, terjadi pada port 443 (yang tidak diblokir oleh perusahaan Anda, atau yang lainnya ... yah, itu tidak terlalu pintar dari mereka). Secara harfiah ini hanyalah proxy atau VPN yang sangat besar, dan juga dienkripsi. Dengan cara ini, Anda dapat mengakses host apa pun pada port apa pun (juga SSH server pada port 22).
Lihatlah secara online di www.torproject.org .
sumber
Maafkan aku, aku harus berperan sebagai advokat setan.
Saya tahu bahwa kemungkinan besar ada alasan untuk melakukan ini, namun, mengapa admin jaringan / firewall Anda tidak membuka port spesifik yang Anda cari? Dari sudut pandang keamanan, apakah Anda ingin mengambil kesempatan bahwa inspeksi web akan kehilangan sesuatu? Jika dikonfigurasi untuk by-pass port 80 untuk lalu lintas std, dan Anda membahayakan diri Anda sendiri.
Saya setuju dengan beberapa saran di atas, di mana point to point vpn mungkin merupakan opsi yang lebih aman. Sekali lagi, dari sudut pandang keamanan, saya akan tertarik untuk mengetahui alasan Anda benar-benar melewati kebijakan keamanan dan mengapa Anda tidak dapat menempatkan server Anda di dmz atau tulang punggung untuk akses. Hanya aku. Semoga berhasil.
sumber