View Full Version : SSH e Proxy
Dovrei connettermi tramite SSH ai computer della mia università, ma dove alloggio (ora sono all'estero) hanno pensato "bene" di filtrare le connessioni tramite proxy, permettendo solo l'utilizzo di HTTP, FTP e poco altro.
Se provo a fare slogin normalmente ottengo:
ssh: bella.dei.unipd.it: Temporary failure in name resolution
se invece provo a facilitarli il lavoro, mettendogli l'indirizzo ip, ottengo:
ssh: connect to host 147.162.238.14 port 22: Network is unreachable
Ho cercato un po' in giro, e sembra che si possa risolvere il problema tramite tunneling. Ora, io non sono assolutamente un esperto in materia, ma ho provato a scaricare e ad usare corkscrew. Come risultato ho ottenuto:
Proxy could not open connnection to bella.dei.unipd.it: Proxy Error ( The
specified Secure Sockets Layer (SSL) port is not allowed. ISA Server is not
configured to allow SSL requests from this port. Most Web browsers use
port 443 for SSL requests. )
Sbaglio qualcosa? Riuscirò mai nel mio intento? Grazie.
devi creare un tunnel ssh che passi per le porte consentite da dove alloggi.
l'altro capo del tunnel sarà in università dove redirigerai il traffico alle porte prestabilite.
non è semplice ne complesso, ti consiglio di dare una letta negli howto in questa sezione al lavoro su ssh fatto da hexdef:
http://www.hwupgrade.it/forum/showthread.php?t=920471
C'è qualcosa che non mi è perfettamente chiaro. Con il tunneling non faccio altro che far passare le mie infomazioni attraverso le porte usate da http, in maniera che il proxy le veda come navigazione web e le lasci quindi passare. In realtà però non faccio richieste http, ma chiamo sulla porta 80 un server che ho appositamente predisposto: a questo faccio ritradurre il fasullo traffico HTTP nei pacchetti necessari alle applicazioni che utilizzo, che ora avranno il giusto indirizzo ed il giusto numero di porta.
Se quanto ho detto è più o meno corretto, cominciano già i guai: non mi posso recare fisicamente su nessun computer controllabile al di là del proxy, dato che sono in erasmus e casa è un po' distantina.... Devo quindi chiedere una mano a qualche mio amico?
Poi: usare un computer dell'università italiana a questo fine è illegale o comunque poco auspicabile? E ancora: supponiamo che riesca ad arrangiarmi con il computer di qualche mio amico in Italia: il traffico che genero è facilmente identificabile come poco pulito? Chiaramente non intendo mettermi a scaricare tonnellate di file da circuiti peer2peer, ma non mi dispiacerebbe fare ogni tanto una partitina su internet o qualche connessione audio con amici e parenti...
MaxFun73
04-10-2005, 11:19
No, il tunnel lo devi fare sul pc da cui scrivi in modo da veicolare le tue richiesta attraverso le porte aperte per i protocolli HTTP ed FTP.
la maniera piu' veloce per usare ssh attraverso un proxy e' quella di usare putty (c'e' sia per linux sia per win) ma il server proxy non deve bloccare le connect e permettere le connessioni alla porta 22....
l'altra soluzione e' httptunnel, ma allora devi mettere mano anche dall'altra parte del tunnel... e questo non credo sia il tuo caso...
Ciao
Putty funziona!
Ma giusto per capire, posso farcela anche senza di lui, impostando opportunamente qualche parametro di ssh? E l'http tunnel corrisponde grossomodo allo scenario che ho descritto sopra?
Putty funziona!
Ma giusto per capire, posso farcela anche senza di lui, impostando opportunamente qualche parametro di ssh? E l'http tunnel corrisponde grossomodo allo scenario che ho descritto sopra?
si ma la faccenda diventa piu' difficile...
devi avere oltre a ssh anche proxytunnel ( http://proxytunnel.sourceforge.net/ )
configura cosi /etc/ssh/ssh_config (se lo vuoi fare per tutti gli utenti della tua macchina) o .ssh/config (se lo fai solo per il tuo utente)
inserisci questa riga:
ProxyCommand /path/dove_si_trova_proxytunnel/proxytunnel -g ip_del_tuo_proxy -G porta_del_proxy -d %h -D %p
poi fai ssh normalmente... ovviamente sostituisci i tuoi dati sopra!
se per usare il tuo proxy serve pure l'autenticazione fai un man proxytunnel e risolvi in 2 minuti.
Ciao
P.S. anche nella sezione usage del sito proxytunnel trovi una spiegazione
Grazie mille. Proverò appena possibile.
Mmmmhhhh.....
Ho fatto tutto, ma quando tento di connettermi il proxy rifiuta l'accesso alla porta 22:
Connected to 100.0.0.1:8080
HTTP return code: '502'
Proxy Error ( The specified Secure Sockets Layer (SSL) port is not allowed. ISA Server is not configured to allow SSL requests from this port. Most Web browsers use port 443 for SSL requests. )
ssh_exchange_identification: Connection closed by remote host
Mi sono quindi messo a leggere la guida di Muppet, e qui ci trovo:
The only "problem" you might run into is that most HTTPS proxies do not allow browsers to connect to HTTPS servers on ports other than 443 and 563. This also means that ProxyTunnel can not request these proxies to connect to an SSH daemon on the default port of SSH (which is 22). The easiest solution to this problem is to also run an SSH daemon on port 443 (or 563). This kinda limits the systems you can SSH to, but usually we have enough control over one or two systems in the net to run an SSH daemon on these ports, which we can then use as jump boxes onto other systems. Di conseguenza, o mi appoggio ad un'altra macchina esterna al proxy, o la faccio andare sulla porta 443. Ma giusto per capire, putty, che come visto funziona perfettamente, sfrutta il secondo approccio per aggirare il problema?
Non lo sa proprio nessuno?
Non lo sa proprio nessuno?
sei sicuro di aver configurato tutto giusto?... mi posteresti tutti i comandi che hai dato e le modifiche che hai fatto? (dicendomi qual'e' il server a cui ti vuoi attaccare e l'ip:porta del proxy... insomma piu' informazioni possibili!)
Da quello che ho letto sia putty sia l'altro metodo fanno la stessa cosa (ma magari l'implementazione di proxytunnel e' bacata) e quindi vorrei capire perche' non funziona!
sei sicuro di aver configurato tutto giusto?No... direi proprio che non posso esserne sicuro... Ma forse il problema è di natura diversa rispetto alle configurazioni.
Vediamo un attimo di ricapitolare ciò che ho fatto:
- ho scaricato la versione 1.5.0.tgz e l'ho scompattata nella home
- apro una finestra di terminale, su, make e make install...
- e qui mi è comparso un errore:mkdir -p /usr/local/bin
install -g root -m755 -o root proxytunnel /usr/local/bin/proxytunnel
install -g root -m644 -o root debian/proxytunnel.1 /usr/man/man1/proxytunnel.1
install: impossibile creare il file normale `/usr/man/man1/proxytunnel.1':
No such file or directory
make: *** [install] Error 1ho sperato che l'unico problema fosse nelle pagine man, e sono andato avanti senza curarmi troppo dell'errore... (non picchiarmi se questa è la causa di tutto!)
- a questo punto ho modificato il file /etc/ssh/ssh_config inserendo la riga:
ProxyCommand /usr/local/bin/proxytunnel -g 100.0.0.1 -G 8080 -d %h -D %p - come utente normale ho allora tentato slogin su bella.dei.unipd.it e sibu.dcs.gla.ac.uk, ottenendo il messaggio sopracitato:
Connected to 100.0.0.1:8080
HTTP return code: '502'
Proxy Error ( The specified Secure Sockets Layer (SSL) port is not allowed.
ISA Server is not configured to allow SSL requests from this port.
Most Web browsers use port 443 for SSL requests. )
ssh_exchange_identification: Connection closed by remote host- così sono andato a leggermi la pagina "usage" del sito, ed in particolare la guida del muppet, che contiene la frase citata nel post precedente.
Quindi: il proxy ha indirizzo 100.0.0.1 e riceve sulla porta 8080, e il server che voglio contattare è bella.dei.unipd.it per eseguire il login remoto sull'account universitario.
Questo è tutto... Ci sono uno o più errori eclatanti nella procedura?
gurutech
27-10-2005, 14:23
devi cambiare (se puoi) la porta su cui ascolta ssh, o modificando direttamente sshd_config oppure con una redirezione via iptables
62.94.78.208 è l'indirizzo pubblico di www.gurutech.it (il server da raggiungere)
www:~# iptables -t nat -A PREROUTING -p tcp --dst 62.94.78.208 --dport 443 -j REDIRECT --to-port 22
www:~# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- 0.0.0.0/0 62.94.78.208 tcp dpt:443 redir ports 22
per il client usa corkscrew su linux o putty con l'opzione proxy http su windows
devi cambiare (se puoi) la porta su cui ascolta ssh, o modificando direttamente sshd_config oppure con una redirezione via iptables
62.94.78.208 è l'indirizzo pubblico di www.gurutech.it (il server da raggiungere)
www:~# iptables -t nat -A PREROUTING -p tcp --dst 62.94.78.208 --dport 443 -j REDIRECT --to-port 22
www:~# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- 0.0.0.0/0 62.94.78.208 tcp dpt:443 redir ports 22
per il client usa corkscrew su linux o putty con l'opzione proxy http su windows
da quello che ho capito non puo' mettere mano a ssh lato server (e' un computer dell'universita)... quello che voleva capire (e pure io) e' perche' con putty riesce a collegarsi (usando l'opzione proxy) e con ssh + proxytunnel no?
Non e' che magari il proxy non e' un proxy http ma uno socks?
Ciao
gurutech
27-10-2005, 20:52
che opzioni hai messo nella scheda proxy di putty?
da quello che ho capito non puo' mettere mano a ssh lato server (e' un computer dell'universita)...
Esatto
Non e' che magari il proxy non e' un proxy http ma uno socks?
ehmmm.... sinceramente non so neanche cosa sia un socks...
che opzioni hai messo nella scheda proxy di putty?
Non mi sembra i aver impostato niente di particolare; anzi, sarà l'ora tarda, ma non riesco nemmeno a trovare una scheda proxy in putty!
Se ti riferisci alla scheda tunnel in SSH non l'ho neanche toccata.
C'è qualche problema in proxytunnel o ho qualche problema io?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.