SSH Tunnel

Ven, 05/09/2008 - 11:27

SSH Tunnel

Inviato da Army75 2 commenti
SSH tunnel

Ciao, dopo un lungo thread sull'argomento ho deciso di scrivere una mini-guida "how to" per chi come me ha bisogno di vedere il pc/server di casa dall'ufficio.
Lo scenario prevede
PC o Server remoto (linux) esposto su internet (quindi collegato ad ADSL) e PC collegato a internet dietro un Firewall e proxy.

Sfortunatamente non funziona con Fastweb
Architettura

Iniziamo a preparare l'architettura per permettere il tunneling che nella guida sarà fatto con ssh su https (quindi su porta 443)
1) Sul PC di casa installare SSH server --> urpmi openssh-server
2) diventare root e modificare il servizio sshd -->

$ su -

$ vi /etc/ssh/sshd_config

alla riga "13" del file sshd_config troverete commentato #Port 22, quindi togliete il cancelletto e modificate la porta in 443. Quindi salvate il file (:wq!) La stessa operazione la potete fare con un editor grafico tipo gedit o kedit.
3) Riavviare il servizio sshd -->

$ /etc/init.d/sshd restart

Ora il PC di casa è pronto ad ascoltare sessioni ssh su porta 443

ATTENZIONE! Non è possibile lasciare in ascolto sulla stessa porta 2 protocolli quindi assicuratevi di non avere un web server in ascolto su https

4) Installare ssh client sul pc che dovrà connettersi a quello di casa --> urpmi ssh-clients
5) Sul router di casa (il modem-router) impostare un redirect della porta 443 sull'ip del PC che ascolterà l'ssh. Ogni modem ha la sua procedura quindi rifatevi alla guida del modem-router.

Pubblicare il proprio IP

Ci sono diversi siti che vi permettono di farlo. In pratica avendo un IP dinamico (ammeno che non abbiate comprato IP pubblico) avete bisogno di scoprire in ogni istante qual'è l'IP pubblico che vi è stato assegnato. Personalmente uso "www.no-ip.com" che dopo esservi registrati GRATIS vi offre un dominio di 2° livello e un binario che va installato sul PC di casa che aggiorna ogni 10 min la pagina di NO-IP col vostro IP in quel momento. Non mi dilungo sulla spiegazione degli IP dinamici ma trovate un po' di info su: https://www.dyndns.com/ oppure su www.no-ip.com

Preparare il PC che avete in ufficio

Con l'aiuto di Filotux e Moreno ho preparato il pc dell'ufficio come segue:
1) Installare proxytunnel --> urpmi proxytunnel
2) andare nella propria home sotto .ssh/ --> cd /home/utente/.ssh
3) creare il file config --> vi config
4) editare il file scrivendo:
Host casa
ProxyCommand /usr/bin/proxytunnel -p ip_del_proxy:porta -t dominio -P user -d casa.qualcosa:443

Vi spiego meglio:

ip_del_proxy:porta indica l'ip del proxy del vostro ufficio e la relativa porta (informazioni che trovate nelle connessioni di internet explorer)

dominio è il dominio della vostra rete aziendale (ammesso che ci sia)

Se non vi trovate in questa situazione potete andare nella homepage di proxytunnel per modificare la stringa di connessione: http://proxytunnel.sourceforge.net/usage.php

E ora la connessione vera e propria:
Dal pc dell'ufficio digitare in una shell:

$ ssh casa

Magicamente vedrete qualcosa tipo:

[user@localhost .ssh]$ ssh casa
Enter local proxy password for user user:
Via xxx.xxx.xxx.xxx:xx -> casa.qualcosa:443
user@casa's password:

CONNESSIONE AVVENUTA (almeno nel mio caso Big Grin)

Spero la guida vi sia utile

ciao

Armando


In:



Commenti

Ritratto di filotux
#1

Inviato da filotux il Ven, 05/09/2008 - 11:53.

Ottima guida!

Secondo me questo e' stato un ottimo esempio di collaborazione e volonta' di aiutare anche altri a risolvere il tuo stesso problema, il tutto nel giro di 24 ore.

Complimenti per il contributo: guida ben fatta e con il giusto livello di dettagli riguardo componenti e procedure accessorie (es. giusto non dilungarsi su impostazioni modem, dns dinamico, ecc.)

Un paio di commenti per completezza.

1. Alcuni proxy HTTPS potrebbero permettere la connessione anche su porte diverse dalla 443: basta provare per vedere quali porte possono essere aperte ed eventualmente impostare il server SSHD su un'altra porta di proprio gradimento (eventualmente la stessa 22 se possibile).

2. Usando "ssh -X" e' possibile anche reindirizzare il display grafico, a patto che sul server non venga impedito da un'opzione nel file di configurazione. Se, comunque, si ha una connessione lenta in upload da casa, l'utilizzo di programmi grafici potrebbe essere poco pratico.

filotux

Debian Lenny on BeagleBoard



Ritratto di Moreno
#2

Inviato da Moreno il Sab, 06/09/2008 - 07:50.

Re: Ottima guida!

Ciao

Io personalmente per l'IP dinamico utilizzo il pacchetto InaDyn

<br />Name        : inadyn                       Relocations: (not relocatable)<br />Version     : 1.96.2                            Vendor: Mandriva<br />Release     : 3mdv2009.0                    Build Date: dom 20 lug 2008 15:24:56 CEST<br />Install Date: (not installed)               Build Host: n2.mandriva.com<br />Group       : System/Configuration/Networking   Source RPM: inadyn-1.96.2-3mdv2009.0.src.rpm<br />Size        : 59420                            License: GPL<br />Signature   : DSA/SHA1, dom 20 lug 2008 15:40:46 CEST, Key ID dd684d7a26752624<br />Packager    : Oden Eriksson &lt;oeriksson@mandriva.com&gt;<br />URL         : http://inadyn.ina-tech.net/<br />Summary     : A client to update host entries on DynDNS like services<br />Description :<br />INADYN is a dynamic DNS client. That is, it maintains the IP address of a<br />host name. It periodically checks whether the IP address stored by the DNS<br />server is the real current address of the machine that is running INADYN.<br /><br />%%% Files<br />/etc/inadyn.conf<br />/etc/rc.d/init.d/inadyn<br />/usr/sbin/inadyn <br />

con DynDns

Ciao Ciao, Moreno

Addio, e grazie per tutto il pesce.
Avatar by moonlight-dream.