IPB     Il futuro di Tevac dipende da te!  

Benvenuto Visitatore ( Log In | Registrati )

  · · · · · · · · · · · ·
Reply to this topicStart new topic
> Capitolo 6: SSH
SoHo
messaggio 23 Aug 2007, 13:18
Messaggio #1


Level 5/11
*****

Gruppo: OSXfeed
Messaggi: 657
Iscritto il: 1-July 05
Da: Londra
Utente Nr.: 4.033



Ciao,
girando per il forum si notano molte domande su SSH allora vediamo di raccogliere in questo capitolo tutte le informazioni relative ad ssh.


- Che cos'è SSH?
- Come configurare una connessione
- Come creare chiave di autenticazione
- Come collegarsi a sistemi remoti
- Lanciare comandi su sistemi remoti
- Copiare file da sistemi remoti a sistemi locali e viceversa
- Esempio pratico

A voi la discussione

SoHo


--------------------
Stefano Dindo
Go to the top of the page
 
+Quote Post
Eddie
messaggio 25 Aug 2007, 11:05
Messaggio #2


Level 1/11
*

Gruppo: Members
Messaggi: 20
Iscritto il: 22-February 06
Da: Perugia
Utente Nr.: 5.411



Provo a dare il mio piccolo contributo, spero che sia utile a qualcuno.

CITAZIONE
- Che cos'è SSH?


Secure Shell, un protocollo che utilizza una connessione cifrata per collegare due host.
La differenza con gli altri tipi di protocolli quali ad esempio FTP, è che mentre questi trasmettono informazioni in chiaro, SSH utilizza un sistema di criptazione per impedire ad eventuali analizzatori di rete di individuare il contenuto dei pacchetti scambiati tra i due host.

CITAZIONE
- Come configurare una connessione


Lato client:
basta lanciare il client ssh da terminale secondo la seguente sintassi: ssh nomeutente@ipserver -p porta

Dove: "nomeutente" si riferisce all'account name sul server remoto, "ipserver" è autoesplicativo, "porta" è di default sulla 22 (in questo casa si può anche omettere l'opzione -p), altrimenti va specificata.

Lato Server:
Per quanto riguarda OS.X credo che basti spuntare la relativa opzione in system preferences/sharing, personalmente ho usato sshd solo su linux e queste sono alcune delle operazioni che svolgo normalmente, sia per incrementare la sicurazza che per amministrare il server:

Editare il file di configurazione /etc/ssh/sshd_config adattando i seguenti parametri alle proprie esigenze:

Port---> porta sulla quale mettere in ascolto sshd, personalmente non lascio mai il valore di default, per evitare tonnellate di tentativi di cracking sui log.

Protocol---> impostare a "2"

ListenAddress---> ip del server

SyslogFacility---> "AUTHPRIV", logga tutti i tipi di accesso, corretti e falliti.

PermitRootLogin---> "no" Evito di far loggare root da remoto.

X11Forwarding---> "no" opzione tipica del mondo Linux, ma è sempre meglio disattivare il controllo remoto di X via ssh.

AllowUsers---> qui vanno messi, in sequenza e divisi da spazi, gli username degli utenti che potranno accedere al demone sshd, tutti gli altri saranno tagliati fuori.


CITAZIONE
- Come creare chiave di autenticazione


Merita più tempo di quanto ne abbia adesso icon_biggrin.gif

CITAZIONE
- Come collegarsi a sistemi remoti


Vedi utilizzo lato client.

CITAZIONE
- Lanciare comandi su sistemi remoti


Una volta effettuato il login sul sitema remoto, basta lanciare i consueti comandi unix per effettuare le operazioni che ci interessano.

CITAZIONE
- Copiare file da sistemi remoti a sistemi locali e viceversa


Invocare da terminale il comando "sftp nomeutente@ipserver -p porta" ed utilizzare, una volta connessi, i seguenti comandi per eseguire le operazioni:

ls = listare files o directory
cd = spostarsi all'interno della struttura delle directory
get = scaricare un file sul nostro computer
put = caricare un file sul server remoto
exit = terminare la connessione

Oppure usare un client sftp ad interfaccia grafica, il mio preferito è Transmit.

CITAZIONE
- Esempio pratico



CODICE
[eddie@obiwan ~]$ ssh eddie@192.168.1.63 -p 6547
eddie@192.168.1.63's password:
Last login: Sat Aug 25 16:34:24 2007 from 192.168.1.7

[eddie@anakin ~]$ uname -a
Linux anakin 2.6.9-55.0.2.ELsmp #1 SMP Sat Aug 25 16:30:12 2007 i686 i686 i386 GNU/Linux


--------------------
Go to the top of the page
 
+Quote Post
poweruser
messaggio 25 Aug 2007, 11:55
Messaggio #3


MacInATopic
Gruppo icone

Gruppo: Team Moderatori
Messaggi: 24.319
Iscritto il: 27-July 03
Da: Maglie (LE)
Utente Nr.: 440



CITAZIONE(Eddie @ 25 Aug 2007, 12:05) *
CITAZIONE
- Che cos'è SSH?
Secure Shell, un protocollo che utilizza una connessione cifrata per collegare due host.
La differenza con gli altri tipi di protocolli quali ad esempio FTP, è che mentre questi trasmettono informazioni in chiaro, SSH utilizza un sistema di criptazione per impedire ad eventuali analizzatori di rete di individuare il contenuto dei pacchetti scambiati tra i due host.
Più che con FTP, SSH andrebbe confrontato con rlogin. Entrambi permettono di accedere alla shell di un computer remoto. Come hai detto però SSH utilizza una connessione cifrata.
In pratica con quando si lancia SSH è come se si fosse seduti di fronte al computer al quale ci si collega e si aprisse una finestra del terminale.

CITAZIONE(Eddie @ 25 Aug 2007, 12:05) *
CITAZIONE
- Come configurare una connessione
[…]
Lato Server:
Per quanto riguarda OS.X credo che basti spuntare la relativa opzione in system preferences/sharing,
Sì, basta semplicemente attivare il checkbox Login remoto in Preferenze di Sistema > Condivisione > Servizi.

CITAZIONE(Eddie @ 25 Aug 2007, 12:05) *
CITAZIONE
- Copiare file da sistemi remoti a sistemi locali e viceversa
Invocare da terminale il comando "sftp nomeutente@ipserver -p porta" ed utilizzare, una volta connessi, i seguenti comandi per eseguire le operazioni:

ls = listare files o directory
cd = spostarsi all'interno della struttura delle directory
get = scaricare un file sul nostro computer
put = caricare un file sul server remoto
exit = terminare la connessione

Oppure usare un client sftp ad interfaccia grafica, il mio preferito è Transmit.
Altra possibilità è usare il comando scp la sintassi più semplice è
CODICE
scp user1@host1:file1 user2@host2:file2
dove user1 (2) è il nome utente per accedere al computer host1 (2) in cui si trova il file file1 (2). Se non si specifica user viene sottointeso il proprio utente attuale, se non si specifica host viene sottointeso la propria macchina locale.
Esempio: si vuole copiare il file pippo.txt contenuto nella propria home sulla scrivania dell'utente con il proprio stesso nome sul computer topolino.local rinominandolo pluto.txt.
CODICE
scp ~/pippo.txt topolino.local:~/Desktop/pluto.txt


Ciao
Paolo


--------------------
Paolo Portaluri

guru, n: A computer owner who can read the manual.
Go to the top of the page
 
+Quote Post
SoHo
messaggio 25 Aug 2007, 13:14
Messaggio #4


Level 5/11
*****

Gruppo: OSXfeed
Messaggi: 657
Iscritto il: 1-July 05
Da: Londra
Utente Nr.: 4.033



Direi che per il momento è il post che sta esprimendo la migliore filosofia del mio progetto! Complimenti!! appena mi libero di impegni di lavoro vediamo di aggiungere un po di cose ...

Continuate così!

Ciaoz

SoHo


--------------------
Stefano Dindo
Go to the top of the page
 
+Quote Post
IKEE
messaggio 27 Aug 2007, 18:37
Messaggio #5


Level 3/11
***

Gruppo: Forum User +
Messaggi: 120
Iscritto il: 18-November 06
Da: Gorizia
Utente Nr.: 7.306



Un altro utilizzo di ssh è quello di "tunneling" di servizi che risiedono su macchine remote.
Un esempio classico è dato da servizi tipo VNC.
Solitamente la sintassi per fare un tunneling di un servizio è la seguente:

CODE
ssh -L [porta del servizio in locale]:[localhost]:[porta del servizio in remoto] -f -N username@ip o nomehost remoto

prendiamo l'esempio di VNC:
se in remoto il servizio VNC è di default sulla porta 5900 e si vuole fare un tunneling del servizio in locale sulla porta 9510, sia inoltre l'ip della macchina remota ad es.: 87.5.23.9 sulla quale è stato attivato il servizio di login remoto. Diamo uno username di un utente (ikee non suona male

)
per effettuare il tunneling da una macchina controllante, opererò, nella fattispecie, c.s.:

CODE
ssh -L 5910:localhost:5900 -f -N ikee@87.5.23.9

una volta fatta l'autenticazione, per accedere da remoto tramite vnc, basterà lanciare il viewer e dirgli di collegarsi a
localhost:5910
risultato: abbiamo fatto il tunnel del servizio VNC remoto sulla ns. macchina


Saluti
Andrea

P.S. Corretti alcuni errori su segnalazione di Andrea. SoHo


--------------------
IKEE
----------------
iBook G3 800 12"
PB G4 1.5 12"
----------------
La pazienza è il mio mestiere
Go to the top of the page
 
+Quote Post
SoHo
messaggio 28 Aug 2007, 08:29
Messaggio #6


Level 5/11
*****

Gruppo: OSXfeed
Messaggi: 657
Iscritto il: 1-July 05
Da: Londra
Utente Nr.: 4.033



CITAZIONE(IKEE @ 27 Aug 2007, 19:37) *
Un altro utilizzo di ssh è quello di "tunneling" di servizi che risiedono su macchine remote.
Un esempio classico è dato da servizi tipo VNC.
Solitamente la sintassi per fare un tunneling di un servizio è la seguente:

CODE
ssh -L [porta del servizio in locale]:[localhost]:[porta del servizio in remoto] -f -N username@ip o nomehost remoto


prendiamo l'esempio di VNC:
se in remoto il servizio VNC è di default sulla porta 5900 e si vuole fare un tunneling del servizio in locale sulla porta 9510, sia inoltre l'ip della macchina remota ad es.: 87.5.23.9 sulla quale è stato attivato il servizio di login remoto. Diamo uno username di un utente (ikee non suona male

)
per effettuare il tunneling da una macchina controllante, opererò, nella fattispecie, c.s.:

CODE
ssh -L 5910:localhost:5900 -f -N ikee@87.5.23.9


una volta fatta l'autenticazione, per accedere da remoto tramite vnc, basterà lanciare il viewer e dirgli di collegarsi a
localhost:5910
risultato: abbiamo fatto il tunnel del servizio VNC remoto sulla ns. macchina

Saluti
Andrea


Prova a spiegare cos'è un servizio tipo VNC e per cosa sta VNC.

ciaoz

SoHo


--------------------
Stefano Dindo
Go to the top of the page
 
+Quote Post
IKEE
messaggio 28 Aug 2007, 12:06
Messaggio #7


Level 3/11
***

Gruppo: Forum User +
Messaggi: 120
Iscritto il: 18-November 06
Da: Gorizia
Utente Nr.: 7.306



CITAZIONE(SoHo @ 28 Aug 2007, 09:29) *
Prova a spiegare cos'è un servizio tipo VNC e per cosa sta VNC.

VNC è l'acronimo di Virtual Network Computing.
In pillole: è un servizio che serve per poter controllare remotamente lo schermo di un'altra macchina.
Il servizio si avvale di due programmi: un programma server (detto appunto VNC server) ed un programma client (detto VNC client o visore VNC o brr...cliente VNC).
Non mi dilungo sul funzionamento ed i dettagli di VNC in quanto non è la sezione adatta (aspetto suggerimenti da SoHo su dove postare maggiori dettagli).
L'esempio riportato sopra era relativo a VNC ma in realtà può essere riportato per qualsiasi altro servizio.
Prendiamo ad es. il servizio di controllo web di aMule (si attiva sulla porta 4711)
ssh -L 4711:87.5.23.9:4711 -f -N ikee@87.5.23.9
per poter visualizzare il proprio pannello di controllo di aMule, basterà lanciare il browser e scrivere sulla barra indirizzi
http://127.0.0.1:4711
oppure
http://localhost:4711
poi si potrebbe andare avanti per ogni genere e specie di servizi che si vogliiono attivare facendo un "tunnel" con ssh
Appena ho un po' di tempo spero di riuscire a parlare del "reverse tunneling" con ssh.
Purtroppo non oggi icon_sad.gif
Saluti


--------------------
IKEE
----------------
iBook G3 800 12"
PB G4 1.5 12"
----------------
La pazienza è il mio mestiere
Go to the top of the page
 
+Quote Post
SimoneManto
messaggio 29 Aug 2007, 16:57
Messaggio #8


Level 5/11
*****

Gruppo: Forum User +
Messaggi: 631
Iscritto il: 11-November 03
Da: Sermide (MN)
Utente Nr.: 921



Aggiungo anche io qualcosa:

l'SSH, e se nello specifico trattiamo la versione OpenSource OPENSSH, è un protocollo che permette l'attivazione di un canale cifrato tra due host; l'host client, attiva una connessione con un altro host, che svolge in questo caso, la funzione di server; tutti i dati che vengono scambiati sono cifrati, compresa la user e la password per l'accesso all'host server.
Il protocollo ssh può essere utilizzato per amministrare remotamente un host, e questo in alternativa ad applicazioni come rlogin, rsh (remote shell) e telnet, le quali attivano una connessione "in chiaro", e quindi, molto meno sicura.
Ma attraverso questo protocollo (openssh), è possibile anche inviare file ad un host remoto, sostituendo di fatto l'uso di un server ftp, ed utilizzando, pertanto un canale cifrato a discapito di un canale (ftp) comunque in chiaro.
Il primo vantaggio di questo protocollo è la praticità, è legato al fatto che sull'host remoto è sufficiente installare ed attivare solo il server ssh; mentre, se avessi voluto utilizzare protocolli in chiaro, avrei dovuto attivare un servizio rsh (o rlogin, oppure telnet) per l'amministrazione remota, ed un servizio ftp per il traferimento file.
Openssh mettte a disposizione dell'utente alcune applicazioni:

- SSH: client di accesso per amministrazione remota. (Secure shell).
- SFTP: client di traferimento file (Secure FTP).
- SCP: client di copia remota di file (Secure Copy).

OpenSSH offre alcuni meccanismi di sicurezza legati alle credenziali d'accesso, infatti, è possibile accedere ad un server remoto tramite user/password, oppure tramite certificato digitale; in quest'ultimo caso, il client genera una propri chiave, che occorre "copiare" sul server, in questo modo il server ssh validerà la postazione che accede, e a cui corrisponde la chiave; così facendo, sul server è possibile disabilitare l'accesso tramite user/password, aumentando di fatto la sicurezza, e restringendo l'accesso ai soli client che hanno copiato la propria chiave sul server.


--------------------
L'importante è crederci
Alubook 15" G4@1,25 GHZ - 1,5 GB RAM - 100GB HD
Alubook 12" G4@1,33 GHz - 1,2 GB RAM - 60 GB HD
iMac G3@500 MHz DV SE - 256 MB RAM - 30GB HD
PowerMac G4@466 MHz - 1 GB RAM - 30GB HD
PowerMac G5@1,6 GHz - 2,5GB RAM - 80GB HD
iPod 2G 40GB
iPod Shuffle 2G 1GB
Go to the top of the page
 
+Quote Post
SoHo
messaggio 29 Aug 2007, 16:59
Messaggio #9


Level 5/11
*****

Gruppo: OSXfeed
Messaggi: 657
Iscritto il: 1-July 05
Da: Londra
Utente Nr.: 4.033



CITAZIONE(IKEE @ 28 Aug 2007, 13:06) *
Non mi dilungo sul funzionamento ed i dettagli di VNC in quanto non è la sezione adatta (aspetto suggerimenti da SoHo su dove postare maggiori dettagli).


Stavo pensando di aprire un capitolo "Reti e connessioni" quindi in quel caso potresti aggiungere li la tua recensione che ne dici?

ciaoz

SoHo


--------------------
Stefano Dindo
Go to the top of the page
 
+Quote Post
SoHo
messaggio 29 Aug 2007, 17:32
Messaggio #10


Level 5/11
*****

Gruppo: OSXfeed
Messaggi: 657
Iscritto il: 1-July 05
Da: Londra
Utente Nr.: 4.033



CITAZIONE(SoHo @ 23 Aug 2007, 14:18) *
- Come creare chiave di autenticazione


Prima di illustrare la creazione di una chiave di autenticazione faccio una breve premessa sulla crittografia a chiave pubblica (nota spesso come RSA)

La crittografia a chiave pubblica è un sistema per codificare messaggi ma che garantisce un'elevata sicurezza per gli sforzi computazionali che richiede per ottenere la decodifica di un messaggio. Vediamo come funziona la crittografia a chiave pubblica con un semplice esempio.

Immaginiamo che A debba spedire un messaggio segreto a B. Occorrono i seguenti passaggi:

1)B sceglie due numeri primi molto grandi (per esempio da 300 cifre) e li moltiplica con il suo computer (impiegando meno di un secondo).
2)B invia il numero che ha ottenuto ad A. Chiunque può vedere questo numero.
3)A usa questo numero per crittografare il messaggio
4)A manda il messaggio a B, che chiunque può vedere ma non leggere
5)B riceve il messaggio e utilizzando i due fattori primi, che solo lui conosceva decifra il messaggio.

A e B hanno impiegato pochi secondi a cifrare e decifrare, ma chiunque avesse intercettato le loro comunicazioni impiegherebbe milioni di anni per scoprire i due fattori primi, con cui si può decifrare il messaggio.

Tutto questo significa che è sicuro inviare la chiave pubblica (per esempio il contenuto del file id_rsa.pub) per posta elettronica o anche inserire la chiave nel file authorized_keys. Per avere accesso alla macchina chiunque avrò bisogno della chiave priva corrispondente (id_rsa) per identificarsi.

Creazione della chiave pubblica:

Il primo passo è usare ssh-keygen per creare una chiave di autenticazione per
se stessi. In molti casi i parametri predefiniti andranno bene. Bisogna sempre fornire una
frase di accesso quando si crea una chiave. Può essere composta di molte parole anche
separate da spazio, in modo da ricordarsela facilmente. Per essere più sicuri meglio
scrivere delle parole in modo errato o cambiare alcune lettere con dei numeri (qualche
esempio: 1 = i, 2 = Z, 3 = E, 4 = A, 5 = S, 6 = b, 7 = L, 8 = B, 9 = g, 0 = O) o mettere
a caso maiuscole e minuscole.

Ecco un esempio di creazione di una chiave di autenticazione:

utente% ssh-keygen -t rsa [Invio]
Generating public/private rsa key pair.
Enter file in which to save the key (/home/utente/.ssh/id_rsa): [Invio]
Enter passphrase (empty for no passphrase): Son tutt3 83773 le m4MM3 d37 m0nd0 [Invio]
Enter same passphrase again: Son tutt3 83773 le m4MM3 d37 m0nd0 [Invio]
Your identification has been saved in /home/utente/.ssh/id_rsa.
Your public key has been saved in /home/utente/.ssh/id_rsa.pub.
The key fingerprint is: b7:18:ad:3b:0b:50:5c:e1:da:2d:6f:5b:65:82:94:c5 utente@host


È bene creare una chiave per ogni utente per salvaguardarne la sicurezza. Per
modificare una frase d'accesso utilizzare l'opzione -p del comando ssh-keygen:

utente% ssh-keygen -p
Enter file in which the key is (/home/utente/.ssh/id_rsa): [Invio]
Enter old passphrase: Son tutt3 83773 le m4MM3 d37 m0nd0 [Invio]
Key has comment '/home/utente/.ssh/id_rsa'
Enter new passphrase (empty for no passphrase): S3mpr3 c4r0 m1 fu qu3st3rmo c0113 [Invio]
Enter same passphrase again: S3mpr3 c4r0 m1 fu qu3st3rmo c0113 [Invio]
Your identification has been saved with the new passphrase.


--------------------
Stefano Dindo
Go to the top of the page
 
+Quote Post
MacMomo
messaggio 4 Sep 2007, 17:18
Messaggio #11


Level 5/11
*****

Gruppo: Forum User +
Messaggi: 728
Iscritto il: 21-June 05
Da: Ostra Vetere (AN)
Utente Nr.: 3.979



Scusate la mia ignoranza, ma non mi è chiara una cosa. icon_redface.gificon_wink.gif
Se io mi collego ad un host tramite SSH come avviene la criptazione dei dati, compresi user e password?
Ovvero se io spedisco i dati criptati (ad esempio la password), come fa l'host a decriptarli?
E se ci riesce lui dovrebbe riuscirci chiunque ascolti il traffico...
Visto che così non è, come avviene il tutto?
Grazie! icon_biggrin.gif


--------------------
Marco *
MacBook Nero 2.2 GHz Intel Core 2 Duo - 4 GB RAM
Go to the top of the page
 
+Quote Post
simlup
messaggio 8 Sep 2007, 23:50
Messaggio #12


Level 1/11
*

Gruppo: Forum User
Messaggi: 45
Iscritto il: 13-June 05
Utente Nr.: 3.931



CITAZIONE(MacMomo @ 4 Sep 2007, 18:18) *
Ovvero se io spedisco i dati criptati (ad esempio la password), come fa l'host a decriptarli?
E se ci riesce lui dovrebbe riuscirci chiunque ascolti il traffico...
Visto che così non è, come avviene il tutto?
Grazie! icon_biggrin.gif


Cerco di rispondere il piu' semplicemente possibile, tieni di conto per una risposta precisa dovrei scrivere un libro (o anche due)...

Nel caso piu' semplice SSH usa un protocollo chiamato Diffie-Hellman per creare una chiave condivisa (con cui sia il server che il client possono criptare e decriptare i messaggi scambiati, compresa la password utente). Per come e' fatto questo protocollo la chiave condivisa viene creata senza mandare in chiaro nessun segreto ne dal client ne dal server.

In alternativa un utente puo' mettere la propria chiave pubblica su un server remoto (o chiedere a qualcuno di farlo per lui) in modo tale che quando si inizia una sessione il server sa gia' come decriptare i messaggi che gli arrivano (inclusi utente e pwd).

simlup
Go to the top of the page
 
+Quote Post
MacMomo
messaggio 11 Sep 2007, 20:36
Messaggio #13


Level 5/11
*****

Gruppo: Forum User +
Messaggi: 728
Iscritto il: 21-June 05
Da: Ostra Vetere (AN)
Utente Nr.: 3.979



CITAZIONE(simlup @ 9 Sep 2007, 00:50) *
Cerco di rispondere il piu' semplicemente possibile, tieni di conto per una risposta precisa dovrei scrivere un libro (o anche due)...

Nel caso piu' semplice SSH usa un protocollo chiamato Diffie-Hellman per creare una chiave condivisa (con cui sia il server che il client possono criptare e decriptare i messaggi scambiati, compresa la password utente). Per come e' fatto questo protocollo la chiave condivisa viene creata senza mandare in chiaro nessun segreto ne dal client ne dal server.

In alternativa un utente puo' mettere la propria chiave pubblica su un server remoto (o chiedere a qualcuno di farlo per lui) in modo tale che quando si inizia una sessione il server sa gia' come decriptare i messaggi che gli arrivano (inclusi utente e pwd).

simlup

Grazie per la risposta, simlup.
Penso di aver capito (per quel che è possibile senza dover leggere un libro icon_wink.gif ).


--------------------
Marco *
MacBook Nero 2.2 GHz Intel Core 2 Duo - 4 GB RAM
Go to the top of the page
 
+Quote Post
IKEE
messaggio 4 Oct 2007, 09:07
Messaggio #14


Level 3/11
***

Gruppo: Forum User +
Messaggi: 120
Iscritto il: 18-November 06
Da: Gorizia
Utente Nr.: 7.306



Solamente due righe per segnalare una gradevolissima interfaccia grafica di gestione del server ssh.
Il programma si chiama Secure Shell Helper della Gideon Softworks. E' un donationware e sostanzialmente altro non è che un'interfaccia grafica per la gestione del server. Da consigliare a chi preferisce lavorare a colpi di "click" anzichè da terminale (tanto poi il terminale si ritrova comunque icon_wink.gif ). Il programma non è nuovo e gira da Mac OSX 10.2 in avanti, ma mi pareva opportuno segnalarlo comunque in questa sezione.
Saluti


--------------------
IKEE
----------------
iBook G3 800 12"
PB G4 1.5 12"
----------------
La pazienza è il mio mestiere
Go to the top of the page
 
+Quote Post
atomik
messaggio 7 Nov 2007, 18:19
Messaggio #15


Level 6/11
******

Gruppo: Forum User +
Messaggi: 1.909
Iscritto il: 18-May 03
Da: Catania
Utente Nr.: 71



CITAZIONE(simlup @ 8 Sep 2007, 23:50) *
CITAZIONE(MacMomo @ 4 Sep 2007, 18:18) *
Ovvero se io spedisco i dati criptati (ad esempio la password), come fa l'host a decriptarli?
E se ci riesce lui dovrebbe riuscirci chiunque ascolti il traffico...
Visto che così non è, come avviene il tutto?
Grazie! icon_biggrin.gif


Cerco di rispondere il piu' semplicemente possibile, tieni di conto per una risposta precisa dovrei scrivere un libro (o anche due)...

Nel caso piu' semplice SSH usa un protocollo chiamato Diffie-Hellman per creare una chiave condivisa (con cui sia il server che il client possono criptare e decriptare i messaggi scambiati, compresa la password utente). Per come e' fatto questo protocollo la chiave condivisa viene creata senza mandare in chiaro nessun segreto ne dal client ne dal server.

In alternativa un utente puo' mettere la propria chiave pubblica su un server remoto (o chiedere a qualcuno di farlo per lui) in modo tale che quando si inizia una sessione il server sa gia' come decriptare i messaggi che gli arrivano (inclusi utente e pwd).

simlup


Nella pratica tutti i sistemi crittografici fino ad oggi esistenti utilizzano la crittografia a chiave asimmetrica per la creazione o lo scambio di un segreto condiviso, e poi utilizzano questo segreto come chiave di un'algoritmo di crittografia a chiave simmetrica (oggi quasi tutti utilizzano AES con chiave a 128 bit o superiore).

Gli algoritmi di crittografia asimmetrici non vengono utilizzati durante tutta la comunicazione principalmente per un problema di prestazioni, in quanto un'algoritmo a chiave simmetrica e' centinaia se non migliaia di volte piu' veloce di uno a chiave asimmetrica.

SSH non fa' eccezione in questo, ed utilizza AES con chiave a 128 bit per la cifratura dei dati sul canale di comunicazione.


Un piccolo appunto sui termini corretti in Italiano che dovreste utilizzare:
1) crittografia, dal greco kryptós, che significa nascosto;
2) cifratura, che significa mettere in cifra;
3) decifratura, che e' l'operazione inversa della precedente.

Gli altri termini non sono corretti in Italiano.



--------------------
Go to the top of the page
 
+Quote Post
atomik
messaggio 7 Nov 2007, 18:28
Messaggio #16


Level 6/11
******

Gruppo: Forum User +
Messaggi: 1.909
Iscritto il: 18-May 03
Da: Catania
Utente Nr.: 71



Dimenticavo... complimenti per l'iniziativa icon_wink.gif


--------------------
Go to the top of the page
 
+Quote Post
fede_dev
messaggio 21 Nov 2007, 08:03
Messaggio #17


macaddict
*******

Gruppo: Team Moderatori
Messaggi: 2.343
Iscritto il: 16-June 04
Da: bologna
Utente Nr.: 2.026



CITAZIONE(atomik @ 7 Nov 2007, 18:28) *
Dimenticavo... complimenti per l'iniziativa icon_wink.gif


Aggiungo al post interssante su ssh un link ad un tutorial per usare il protocollo SSH per accedere da remoto
ad una macchina con vnc:

Un tunnel SSH su mac

saluti
fede


--------------------
- 1st don't waver... (© woz)
- Atletico tevac '80- apple way as a feet view © fede_dev
- enigmatico
- supporta zio pino & tevac
Go to the top of the page
 
+Quote Post
SoHo