Di seguito tutti gli interventi pubblicati sul sito, in ordine cronologico.
Breve guida su come installare il supporto SSH al Fritz Box
(testato con Fritz ATA e Fritz Box Fon WLAN ma dovrebbe funzionare con tutti i modelli)
Autore: Luca Spallarossa (luca@spallared.com)
v.1.0
Premessa:
A cosa serve? L'SSH e' il cugino “evoluto” del telnet, in pratica permette di accedere ad un
terminale remoto in maniera sicura crittografando tutta la comunicazione che avviene tra il
client ed il server. In aggiunta a questo l'SSH permette quello che si chiama “tunnel”. In
pratica e' possibile usare il server SSH come testa di ponte verso servizi della rete interna
che normalmente non sono accessibili dal mondo-internet.
In pratica permette di fare una specie di port-forward crittografato ed utilizzabile solo
dall'utente connesso, utile, per esempio, per accedere alla pagina di configurazione del
Fritz! Senza dover necessariamente lasciare aperta a tutto il mondo la porta 80.
Requisiti:
• Un Fritz Box (Fon o ATA poco importa) ;)
• L'accesso ad un po' (poco) spazio web... i servizi gratuiti di Libero, Geocities,
Yahoo vanno piu' che bene
• FBEditor 0.4 (scaricabile da qui: http://www.ip-phoneforum.de/showthread.php?t=79513 o da qui:
http://www.spallared.com/downloads/fritz/fbeditor04.zip)
• Il pacchetto Dropbear (scaricabile da http://www.ip-phoneforum.de/showthread.php?t=79500 oppure da
http://www.spallared.com/downloads/fritz/dropbear.zip)
Passo 1: Abilitare l'accesso telnet sul Fritz
Prima di tutto dovete aver abilitato l'accesso telnet sul Fritz (senno' come fate a lavorarci
su?)... per farlo potete usare l'immagine che trovate qui: http://www.ip-phoneforum.de/showthread.php?t=78556&highlight=telnet+image (mirror:
http://www.spallared.com/downloads/fritz/telnetsl.zip) installandola come se fosse un
aggiornamento del firmware. Terminata la procedura di aggiornamento potrete collegarvi
in telnet al Fritz (lanciando da prompt di comandi: telnet INDIRIZZO_DEL_FRITZ)
Passo 2: Preparare i files sul vostro spazio web
Eseguite l'upload del file dropbear.zip su un server web su cui avete accesso. Per vedere
che tutto funzioni a dovere provate a collegarvi all'indirizzo del sito da voi creato
aggiungendo /dropbear.zip e il browser dovrebbe chiedervi di scaricare il file in oggetto.
Passo 3: Create la vostra password
Utilizzando il sito http://www.xs4all.nl/~remcovz/htpasswd.html create la vostra
password specificando “root” come username, otterrete un risultato tipo:
You should put this in your htaccess password file:
root:rrSRMKMankvvg(You can copy & paste the output from this page to your htaccess password file.)
For more info about how to use this, see the documentation
Copiatevi la parte evidenziata in grassetto (attenzione a rispettare maiuscole e minuscole), vi servira' al ...
Passo 4: Create lo script con la configurazione di Dropbear (il server SSH)
... copiate in un editor di testo qualsiasi (ad es. notepad) lo script seguente (attenzione a rispettare gli a-capo):
#-----------------------------------------------------------------------
# Modificare il parametro seguente a seconda del server su cui avete messo lo script:
serverurl="http://www.vostrosito.it/vostra_cartella"
# ed il parametro seguente con la password di accesso codificata secondo le istruzioni che seguono (se non modificate nulla la vostra password di accesso SSH sara' “test”)
roothash="root:rrSRMKMankvvg"
#-----------------------------------------------------------------------
# questo sleep serve ad attendere che il Fritz Box Fon abbia il tempo di connettersi
# ad internet prima di lanciare il download del server ssh
# eventualmente cambiare i 120 (secondi) secondo necessita'.
sleep 120
#
localdir="/var/tmp"
dropbearport="22"
cd $localdir
wget $serverurl/dropbear.zip
mv dropbear.zip dropbear
chmod +x ./dropbear
ln -s $localdir/dropbear dropbearkey
# 1024Bit RSA/DSS Keys fuer Dropbear erstellen
$localdir/dropbearkey -t rsa -f dropbear_rsa_host_key
$localdir/dropbearkey -t dss -f dropbear_dss_host_key
echo "root:x:0:0:root:/:/bin/sh" > /var/tmp/passwd
echo $roothash":12969:0:10000::::" > /var/tmp/shadow
# ATTENZIONE: Questa e' una unica riga...
$localdir/dropbear -p $dropbearport -r $localdir/dropbear_rsa_host_key -d $localdir/dropbear_dss_host_key
#... fine della riga
#------------------------------------------------------------------------...modificando le prime righe secondo le vostre preferenze.
Mettete come serverurl l'indirizzo del sito da voi creato (attenzione a ricordarvi l'http://
iniziale) tralasciando la parte /dropbear.zip e copiate in roothash la password che avete
generato al passo 3.
Passo 5: Installare lo script
Ora non resta che installare lo script sul Fritz... collegatevi in telnet e lanciate i seguenti
comandi:
cd /var/flash
vi debug.cfg
premete il tasto “i” (non premete invio), in basso nella finestra comparira' “--Insert--”
ora fate il copia ed incolla dello script qui sopra dentro la finestra con il telnet
premete in sequenza:
: x (, due punti, x, )
Se avete fatto tutto correttamente dovreste rivedere il prompt del Fritz (#) seguito dal
cursore lampeggiante.
Passo 6: Abilitare l'accesso SSH dal mondo esterno
Ci siete quasi, ora non resta che dire al Fritz di permettere le connessioni sulla porta
dell'SSH anche dal mondo esterno (altrimenti potrete collegarvi al vosto bel server SSH
solo dall'interno della vostra rete... carino ma inutile!).
Per farlo lanciate FBEditor (occhio, e' un programma in Java quindi dovrete avere
installata la Java Virtual Machine scaricabile da sun.java.com), vi verra' chiesto l'indirizzo
del vostro Fritz Box e la sua password (quella dell'accesso web!), inseritele.
Dal menu “Datei” scegliete “Konfiguration einlesen”, vi si aprira' tutta una sfilza di cose
senza senso, cercate una sezione (verso il fondo) dove ci sono voci simili a:
"tcp 0.0.0.0:22 192.168.178.254:22 0 # FBSSH",
ed aggiungete la riga qui sopra. Eventualmente potete modificare il valore
“192.168.178.254” con l'indirizzo del vostro Fritz.
Infine, sempre dal menu “Datei”, scegliete “Konfiguration zurukspielen”.
Fatto! Riavviate il Fritz e se tutto va bene il server SSH sara' li pronto a rispondervi sulla
porta 22.
Io ho testato questa procedura varie volte e il Fritz non ha mai “sofferto” nessun imprevisto
ma ovviamente non mi assumo alcuna responsabilita' se qualcosa dovesse andare storto.
Per ogni commento, suggerimento, correzione, ringraziamento (e, volendo, anche insulti ;)
potete contattarmi sull'indirizzo: luca@spallared.com.
Ciao!
Luca
Con questo script e' possibile tenere sincronizzato il servizio di IP dinamico fornito da Nettica.com (o, adattando la richiesta HTTP, un altro servizio equivalente) da un qualsiasi pc con Windows.
Lo script ha bisogno dell'applicazione wget.exe memorizzata nella cartella /utils.
-----------------------------------
@echo off
set USERNAME=foo
set PASSWORD=fooPassword
set FQDN=mysite.domain.com
set UPDATE_INTERVAL=60000
if NOT EXIST SPOOL goto MakeSpool
:doneSpool
if NOT EXIST utils\wget.exe goto noWget
:loop
move spool\current_ip spool\old_ip
REM Let's read current IP
.\Utils\wget.exe http://ip.nettica.com:8245/ -O spool\current_ip
REM Setting environment variables to old and current IPs
set /P CURR_IP=IPset /P OLD_IP=IPif "%CURR_IP%"=="%OLD_IP%" goto end
echo Updating IP!
.\Utils\wget.exe -S --no-check-certificate -O NUL "https://www.nettica.com/Domain/Update.aspx?U=%USERNAME%&PC=%PASSWORD%&FQDN=%FQDN%&N=%CURR_IP%"
:end
rem Wait
PING 1.1.1.1 -n 1 -w %UPDATE_INTERVAL% >NUL
goto loop
:makeSpool
md spool
goto doneSpool
:noWget
echo Please, download wget.exe and put it into utils sub-directory
pause