Ok, questo vi piacerà, almeno ad alcuni di voi.
Capita, per lavoro, di avere a che fare con fantasiose configurazioni e politiche di accesso alla rete molto restrittive, e nonostante si facciano richieste in teoria chiare e circostanziate, non sempre si riesce ad ottenere quello che si vuole.
In particolare, capita fin troppo spesso di trovarsi ad amministrare macchine dietro firewall draconiani e proxy solo http che rendono la possibilità di usare ssh, scp e compagnia un PITA[1]. Per questi casi, vale la pena di provare a usare corkscrew. Dalla man page:
corkscrew – Tunnel TCP connections through HTTP proxies
ed è esattamente quello che fa: usa un proxy pure http per effettuare connessioni tcp (ssh è l’esempio migliore, ma non l’unico).
Premesso che non fa i miracoli (ad esempio con ISAServer non va, nonostante la doppia combo corkscrew+ntlmaps) e il proxy deve supportare il metodo CONNECT, mi ha dato qualche soddisfazione.
Per usarlo:
oltre all’ovvio “installa corkscrew con un aptitude install corkscrew”, dovete:
- creare o modificare il file ~/.ssh/config e aggiungere
Host *
ProxyCommand corkscrew *proxy* *proxyport* %h %p
dove *proxy* è l’indirizzo o il nome del proxy e *proxyport* è la porta che usa il proxy - se il proxy è autenticato dovete anche inserire la combinazione utente:password in un file, e modificare la riga sopra come segue:
Host *
ProxyCommand corkscrew *proxy* *proxyport* %h %p /path/to/authfile
E infine provare.
Se tutto va bene, potete ora fare ssh, scp, e qualunque altra cosa sia tunnellabile[2].
Enjoy.
[1] Davvero non conoscete questo acronimo? http://en.wiktionary.org/wiki/PITA
[2] lo so, lo so. Tunnellabile è orrendo. Ma rende l’idea.