OpenSSH: Windows: differenze tra le versioni

m
nessun oggetto della modifica
Nessun oggetto della modifica
mNessun oggetto della modifica
Riga 1: Riga 1:
{{stub}}
=Introduzione=
==Introduzione==
I dispositivi iPod sono differenti dalla maggior parte dei letori multimediali, in quanto non � sufficiente copiare la musica al loro interno per ascoltarle.
Ho deciso di fare questa guida poich� ho avuto molta difficolt� a creare una connessione remota sicura fra una macchina Windows ed una Linux in una LAN (o in una WAN) in quanto la maggior parte delle guide, degli How-To e delle FAQ che ho trovato in Internet esamina tale connessione fra due macchine Linux.
Essendo un lettore avanzato, che in alcuni modelli presenta anche diverse funzionalit� quali calendario, rubrica eccetera, ha bisogno di programmi appositi che consentano di sincronizzarlo con il pc.
Questa guida spiega come utilizzare i dispositivi iPod della Apple con il sistema Debian GNU/Linux, tuttavia dovrebbe funzionare con qualunque distribuzione.


La connessione remota sicura, che esaminero`, e` una connessione che usa il protocollo [http://it.wikipedia.org/wiki/Ssh SSH (Secure SHell)] e, perci�, � detta '''connessione SSH''' la quale si basa sulla [http://it.wikipedia.org/wiki/Crittografia_asimmetrica criptografia asimetrica] detta anche '''criptografia a coppia di chiavi''' o, piu` semplicemente, '''a chiave pubblica/privata''' (o, semplicemente, '''a chiave pubblica''') che consiste nella generazione di una coppia di chiavi (chiamate [http://it.wikipedia.org/wiki/Chiave_privata chiave privata] e [http://it.wikipedia.org/wiki/Chiave_pubblica chiave pubblica]). In pratica, la '''chiave pubblica''' codifica la communicazione mentre la '''chiave privata''' decodifica tale comunicazione e vengono generate usando degli algoritmi asimetrici che sono [http://it.wikipedia.org/wiki/RSA RSA] e [http://en.wikipedia.org/wiki/Digital_Signature_Algorithm DSA] e le connessioni che usano tali coppie di chiavi prodotte da questi algoritmi asimetrici sono dette '''connessioni SSH'''. Tali algoritmi, per�, servono soltanto per instaurare una connessione criptata fra il client SSH e il server SSH in quanto, per il trasferimento vero e proprio dei dati, si usano degli algoritmi simmetrici, come AES o 3DES, che sono molto pi� efficenti per questo scopo ovvero per cifrare la comunicazione. Quindi:
=Note=
*La guida tratta varie possibilit�, ma la procedura � stata testata in prima persona solo con iPod con filesystem formattato in FAT32. Gli iPod infatti funzionano sia con sistemi Mac che Windows, ma con filesystem diversi: FAT per Windows e HFS per MAC.
*Sebbene iPod supporti sia il collegamento via USB che via FireWire, ho potuto testare solo il primo.


Una '''connessione SSH''' � una connessione cifrata che utilizza gli algoritmi asimetrici RSA o DSA soltanto per verificare se una chiave pubblica, memorizzata sul Server, derivi da una chiave privata salvata sul Client (in modo da garantire la reciproca autenticita` del Server e del Client) in modo da essere utilizzata, per l'intera sessione, per la cifratura simmetrica con algoritmi come AES o 3DES.
=Prepariamo il Sistema:=
==Primo Collegamento==


==Scelta del software==
Iniziamo aprendo una shell e digitando:


Ora, dopo aver fatto questa introduzione per chiarire i termini che user� in seguito, spiegher�, in pratica, come si crea una connessione SSH da Windows a Linux. Per far ci�, occorre scegliere un server-software SSH sulla macchina Linux (che funge dal Server) ed un client-software SSH su una macchina Windows (che funge da Client). Ora, per scegliere un server-software SSH per Linux, non esiste alcun problema in quanto la communit� Open Source ha creato un ottimo prodotto che, ormai, tutte le distribuzione lo installano come default. Questo prodotto � il software [http://www.openssh.com/ OpenSSH Server]. Ora, siccome Windows (in tutte le sue edizione per il Desktop) non ha nessun client-software SSH, occorre cercarne uno. Il pi� semplice client SSH con licenza certificata Open Source � [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] ma, chi volesse usare soprattutto la Shell di Linux ed avere qualche comodit� in pi� sullo stile di Windows, dovr� valutare programmi commerciali come [http://www.vandyke.com/products/securecrt/ SecureCRT] o [http://www.ssh.com/products/tectia/client/ SSH Tectia Client] che, per fortuna, si possono prelevare le versioni di valutazione completamente funzionanti prima dell'acquisto.
<pre>
tail -f /var/log/syslog
</pre>


{{Box | Nota |I client SSH permettono soltanto di accedere alla Shell di Linux per poter eseguire comandi su un terminale a caratteri di questo sistema operativo. Per poter accedere anche al suo server grafico [http://it.wikipedia.org/wiki/X_Window_System X Window System] o '''X11''' o soltanto '''X''' (e, quindi, per poter controllare i vari ambienti grafici ed i programmi di X), occorre anche un [http://it.wikipedia.org/wiki/VNC client/server VNC]. Ora, niente paura in quanto, grazie alla funzionalit [http://en.wikipedia.org/wiki/Tunneling_protocol Tunneling] di questi tre client SSH, possibile controlare anche X sempre in modo sicuro.}}


==Configurazione dell'OpenSSH Server==
Collegando ora l'iPod tramite il cavo USB dovremmo avere una risposta di questo tipo:


Una volta installato l'OpenSSH Server sulla macchina Linux, occorre configurarlo per scegliere il modo di authentificazione che volete che le macchine Client usano per accedere a questa macchina Linux.
<pre>
Sep 30 20:50:07 kaneda kernel: usb 1-6: new high speed USB device using ehci_hcd and address 6
Sep 30 20:50:07 kaneda kernel: scsi1 : SCSI emulation for USB Mass Storage devices
Sep 30 20:50:07 kaneda kernel: usb-storage: device found at 6
Sep 30 20:50:07 kaneda kernel: usb-storage: waiting for device to settle before scanning
Sep 30 20:50:12 kaneda kernel:  Vendor: Apple    Model: iPod              Rev: 1.62
Sep 30 20:50:12 kaneda kernel:  Type:  Direct-Access                      ANSI SCSI revision: 00
Sep 30 20:50:12 kaneda kernel: SCSI device sdb: 39063023 512-byte hdwr sectors (20000 MB)
Sep 30 20:50:12 kaneda kernel: sdb: Write Protect is off
Sep 30 20:50:12 kaneda kernel: sdb: Mode Sense: 64 00 00 08
Sep 30 20:50:12 kaneda kernel: sdb: assuming drive cache: write through
Sep 30 20:50:12 kaneda kernel: SCSI device sdb: 39063023 512-byte hdwr sectors (20000 MB)
Sep 30 20:50:12 kaneda kernel: sdb: Write Protect is off
Sep 30 20:50:12 kaneda kernel: sdb: Mode Sense: 64 00 00 08
Sep 30 20:50:12 kaneda kernel: sdb: assuming drive cache: write through
Sep 30 20:50:13 kaneda kernel:  sdb: sdb1 sdb2
Sep 30 20:50:13 kaneda kernel: Attached scsi removable disk sdb at scsi1, channel 0, id 0, lun 0
Sep 30 20:50:13 kaneda kernel: Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0, type 0
Sep 30 20:50:13 kaneda kernel: usb-storage: device scan complete
</pre>


Le varie autentificazione che OpenSSH Server pu� offrire sono:
il che ci mostra le due partizioni dell'iPod, in questo caso sda1 ed sda2.
La partizione che ci interessa � sda2, ovvero quella contenente i dati.


#Autentificazione tramite '''password'''
==Creazione del Mountpoint==
#Autentificazione '''ChallengeResponseAuthentication''' o '''Keyboard-Interactive'''
andiamo quindi a creare il punto di mount dove in seguito monteremo il nostro iPod:
#Autentificazione '''a chiave pubblica'''
#Autentifiazione '''GSSAPI'''


'''L'autentificazione tramite password''' utilizza la Username e la Password dell'utente (le stesse usate per l'autentificazione in locale) per verificare se l'utente � autorizzato ad accedere da remoto alla macchina Linux.
<pre>
~# mkdir /mnt/iPod
</pre>


'''L'autentificazione ChallengeResponseAuthentication o Keyboard-Interactive''' utilizza una serie di autentificazioni caratterizzate da richieste, fatte dal server SSH, che devono essere confermate dalle risposte mandate dal client SSH. Se le risposte coincidono a quelle memorizzate sul Server, l'utente � autorizzato ad accedere da remoto alla macchina Linux altrimenti questi non pu� entrare in tale macchina Linux.
creiamo il gruppo ipod per definire il gruppo di utenti abilitati al suo utilizzo:


'''L'autentificazione a chiave pubblica''' verifica se la chiavi pubblica, memorizzata sul Server, '''derivi''' dalla chiave privata memorizzata sul Client dell'utente. Se tale verifica ha esito positivo, l'utente pu accedere alla macchina Linux altrimetri no. Siccome la chiave privata praticamente un file, che autorizza chiunque entra in possesso ad entrare in un Server SSH, consigliabile protteggerla con una '''passphrase''' che, in sostanza, una password che occorre inserirla ogni volta (o quasi) che si effettua una connessione verso tale Server SSH.


'''L'autentifiazione GSSAPI''', basata su un'API generica, implementata su vari sistemi operativi, utilizza un determinato protocollo, che, normalmente, � Kerberos 5, per trasferire i dati per l'autentificazione.
<pre>
~# addgroup ipod
</pre>


Le auttentificazioni pi� comode ed usate in una rete LAN (ma non solo) sono l''''autentificazione tramite password''' e l''''autentificazione a chiave pubblica'''. Quindi, la mia attenzione andr� soprattutto su queste due autentificazioni in quanto sono, forse, le pi� semplici da essere implementate.
ed aggiungiamo al gruppo gli utenti desiderati con:


Il file di configurazione di OpenSSH Server si chiama ''sshd_config'' che, normalmente, si trova nella directory ''/etc/ssh''.
<pre>
~# adduser "user" ipod
</pre>


Questo file � un file di testo composto da '''direttive''' (dette '''Keywords'''), che sono '''case-insensitive''', e da '''valori''', che sono '''case-sensitive'''. Quindi, per editarlo, basta un semplice editor di testo come '''vi''' o '''Emacs''' che avete gi� nella vostra distribuzione.
Montiamo ora l'iPod come un qualsiasi dispositivo removibile di memoria usb:
Se utilizziamo FAT:


Quindi, attiviamo, in forma base, le autentificazioni tramite password e a chiave pubblica e disattiviamo le altre per evitare conflitti ed accessi non desiderati a causa di eventuali bachi.
<pre>
~# mount -t vfat /dev/sda2 /mnt/ipod -o rw,uid="user",gid=ipod
</pre>


Perci�, verichiamo, da root, che, nel file ''/etc/ssh/sshd_config'', ci siano le seguenti keyword ed i corrispettivi valori; se si dovessero trovare delle keyword mancanti o dei valori che non corrispodessero a quei sotto-ennunciati, modificate semplicemente il testo stando attenti a non fare incominciare le keyword con il simbolo #:
Mentre con HFS:
 
<pre>
~# mount -t hfsplus /dev/sda2 /mnt/ipod -o rw,uid="user",gid=ipod
</pre>
 
----
per semplificare questa operazione, che pu� essere gestita in automatico da tools che stiamo per vedere, consiglio di scrivere una riga che salvi queste impostazioni nel vostro file /etc/fstab.
----
 
Esplorando questa partizione vedrete che i files sono nella directory:
 
<pre>
/mnt/iPod/iPod_Control
</pre>
 
(Se l'iPod � nuovo e non � mai stato utilizzato non vi sar� nulla. Vedremo in seguito come creare tutto questo)
 
=Installazione dei tools e delle gui=
==gnupod-tools==
 
Il pacchetto fondamentale per gestire un iPod sotto GNU/Linux � gnupod-tools.Sul [http://www.gnu.org/software/gnupod/ sito ufficiale] potete trovare tutta la doumentazione necessaria al suo utilizzo, anche se alcune funzioni verranno trattate anche in questa guida.
Per ottenere gnupod-tools � sufficiente un:
 
<pre>
~# apt-get install gnupod-tools
</pre>
 
==YamiPod==
YamiPod � un altro programma che si pu� scaricare sul sito [http://www.yamipod.com/main/modules/home/ www.yamipod.com] molto simile a gtkpod, ma multipiattaforma (Linux, MacOS X, Win). Questo programma non � software libero (anche se il suo uso � gratuito).
 
==QuodLibet==
Anche l'ottimo e versatile QuodLibet consente, grazie ad un plugin apposito, di gestire direttamente e in maniera immediata l'iPod, sfogliarne i contenuti, cancellare brani e uploadare, ovviamente, brani o interi album dalla vistra libreria.
 
Il plugin pu� essere scaricato dal seguente URL: [http://www.sacredchao.net/quodlibet/wiki/Plugins/iPod].
Estrate l'archivio in '''.quodlibet/plugins/songsmenu'''.
 
Nel caso non fossero gi� installati:
 
<pre>
apt-get install libgpod0 python2.3-gpod
</pre>
 
Procuriamoci ora i file '''gpod.y''' e '''_gpod.so''' dalle librerie di python:
 
<pre>
cp /usr/lib/python2.3/site-packages/gpod.py .quodlibet/plugins/songsmenu/ipod
cp /usr/lib/python2.3/site-packages/_gpod.so .quodlibet/plugins/songsmenu/ipod
</pre>
 
A questo punto punto il nuovo plugin dovrebbe comparire nella lista dei plugin di QuodLibet (refresh o lanciate il programma). Basta attivare i plugin ('''Browse iPod''' e '''Copy To iPod''') mediante checkbox e configurare mountpoint e device nell'apposita finestra di configurazione del plugin stesso.
 
==gtkpod + codecs==
per poter gestire il vostro iPod sarebbe ora sufficiente installare gtkpod,tuttavia per avere un pieno supporto che faccia dimenticare iTunes sono necessari ancora dei piccoli passaggi.Visto che alcuni dei pacchetti di cui necessitiamo non sono presenti sui repository ufficiali, dovremo editare il nostro file
<pre>
/etc/apt/sources.list
</pre>
 
aggiungendo la stringa
 
<pre>
deb ftp://ftp.nerim.net/debian-marillat/ XXX main
</pre>
 
dove XXX verr� sostituito con il nome della distribuzione che stiamo utilizzando, al momento attuale le opzioni sono:
* sarge
* etch
* sid
 
Ora siamo pronti all'ultimo passaggio:
dopo aver dato un
<pre>
~# apt-get update
</pre>
sar� sufficiente dare
<pre>
~# apt-get install faac faad gtkpod-aac xmms-mp4 mp3gain
</pre>
per avere pieno supporto ai formati aac e mp4.
 
=Utilizzo dell'iPod=
==Preparazione dell'iPod con GNUpod-tools==
 
Se l'iPod appena collegato � nuovo, questo non avr� l'albero delle directory necessario al suo utilizzo.
Inoltre mancher� anche il file iTunesdb.ext,necessario per gestire la musica.
ecco che entra in gioco GNUpod-tools, che con un semplice comando creer� tutto questo, sostituendo ad iTunesdb.ext GNUtunesDB.ext.
ecco come procedere:
 
<pre>
~# gnupod_INIT.pl -m /mnt/iPod
</pre>
 
Per maggiori informazioni sull'iTunesdb visitate il [http://ipodlinux.org/ITunesDB wiki]
 
==Configurazione di GTKpod==
La configurazione di GTKpod � molto semplice ed intuitiva. Nel menu Modifica si trova la voce "Preferenze", e da l� si pu� avere pieno controllo sulle impostazioni del programma, e sulla gestione del vostro iPod.
 
[[Immagine:Gtkpod.jpg|thumb|left|Esempio 1]] [[Immagine:Gtkpod2.jpg|thumb|right|Esempio 3]] [[Immagine:Gtkpod1.jpg|thumb|center|Esempio 2]]
 
===GTKpod e i file audio===
===GTKpod e la rubruica===
===GTKpod e il calendario===
===Gtkpod e le note===
===Utilizzare iPod come memoria usb===
 
=Installare linux sull'iPod=
 
E possibile installare anche un firmware basato su linux mantenendo inoltre il firmware apple originale.
Il progetto dal nome [http://ipodlinux.org/Main_Page "ipodlinux"] � ancora in fase di sviluppo, ma povvede gi� a dare un bootloader funzionante e dei player audio in perfezionamento.
* [http://ipodlinux.org/Project_Status qui] trovate una lista dei modelli di iPod supportati
 
* [http://ipodlinux.org/Installation qui] invece le istruzioni dettagliate per l'installazione.


''Port <Numero porta d'ascolto>'' : Questa keyword indica la porta d'ascolto dell'OpenSSH Server. Conviene cambiare la porta d'ascolto di default per evitare, fin da subito, degli attacchi esterni e mettere un numero superiore a 1024 che non sia gi usato da altri servizi locali o di Internet (per sapere le porte Internet di default usate dai comuni servizi Internet, andate [http://www.iana.org/assignments/port-numbers qui]). Si deve ricordare, dopo aver scelto tale porta, di "dire" al vostro fireware aprire in entrata tale porta per fare in modo che i vostri utenti remoti possono acceedere alla vostra macchina Linux.




----
----
 
Autore: [[Utente:Jango|jango]]
--[[Utente:Balubeto|Balubeto]] 05:29, 3 Giu 2006 (EDT)
[[Categoria:Hardware]]
93

contributi