ssh e http proxy

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.

Leave a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.