Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "InternetRete/DesktopRemoto/OpenSsh"
Differenze tra le versioni 3 e 4
Versione 3 del 24/11/2005 14.43.11
Dimensione: 9894
Autore: BlackDesert
Commento: indice links icone links cronhowto
Versione 4 del 14/02/2006 19.12.57
Dimensione: 10248
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 38: Linea 38:
 * Ssh non da Linux
Linea 222: Linea 224:
== Ssh non da Linux ==
Per chi non lo sapesse ssh si può utilizzare anche su sistema Windows, basta scaricare un piccolo programma che si chiama Putty [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html]

Putty, inoltre è disponibile anche in una versione per i cellulari Symbinan ["http://www.s2.org/putty/"]

BR

attachment:Icone/Piccole/PicDocs.png

Indice

  • Installazione di ssh-server
  • Copiare file attraverso ssh
  • Navigare con nautilus attraverso ssh
  • Connettersi ad un computer remoto con ssh
  • Autenticazione con chiavi pubbliche (pubblic keys)
  • Limitare l'accesso con ssh
  • Accesso automatico in batch script
  • Usare ssh agent
  • Ssh non da Linux

attachment:Icone/Piccole/IconExample48.png

SSH

OpenSSH è una versione LIBERA del protocollo SSH, suite dei tools per la connettività di rete, che incrementa il numero di persone che fanno affidamento su di esso. Molti utenti che utilizzano telnet, rlogin, ftp e altri programmi simili forse non sanno che la loro password viene trasmessa attraverso la rete non criptata. OpenSSH cripta tutto il traffico (password compresa) per eliminare a tutti gli effetti l'ascolto passivo, l'hijacking della connessione e altri attacchi a livello di rete. In più, OpenSSH fornisce una miriade di possibilità di tunneling sicuro, così come una varietà di metodi di autenticazione.--Da http://www.openssh.com/it/index.html

Installazione di SSH-SERVER

Ubuntu usa ssh-server e lo si può ottenere così.

    bash:~$ sudo apt-get install openssh-server

Questo setterà il tuo ssh-server.

Copiare File con SSH

Per copiare un file da un computer ad un altro con ssh si deve usare il comando scp. Il comando dovrebbe essere come il seguente.

   bash:~$ scp <file> <username>@<indirizzoip>:<!DirectoryDiDestinazione>

oppure in termini più pratici. se sto copiando un file da uno dei miei computer ad un altro il comando sarà

   bash:~$ scp file.txt hornbeck@192.168.1.103:/home/hornbeck

(In questo caso sarà copiato il file <file.txt> da un computer locale verso il computer remoto <hornbeck@192.168.1.103> e nella directory /home/hornbeck). Ci si deve perciò assicurare di aver incluso il <file>, la <username> del computer a cui ci si stà connettendo , l ' <indirizzo IP> e la <!Directory di destinazione> dove il file sarà copiato.

Si può anche copiare un file da un computer remoto verso il disco fisso locale

   bash:~$ scp hornbeck@192.168.1.103:/home/hornbeck/urls.txt .

Il '.' (l'ultimo punto) significa che il file sarà copiato nella directory corrente. Il file naturalmente potrà essere anche rinominato ( es my.txt ) e questo sarà fatto durante il trasferimento.

IMPORTANTE: non si possono muovere file tra due computer remoti. La sorgente o la destinazione devono essere file locali.

Usando nautilus si può avere comunque accesso a computer remoti per navigare, editare e copiare. Aprire un Nautilus file browser ( per esempio attraverso Computer -> Home) e successivamente premere CTRL + L. Scrivere il seguente indirizzo url

   ssh://<username>@<hostname>

( rimpiazzare <username> e <hostname> in maniera adeguata)

La copia dei file può essere fatta selezionando e trascinando il file in un'altra finestra di nautilus, come se si fosse all'interno del proprio file-sistem locale.

Connettersi ad un computer remoto con ssh

Per connettersi ad un computer remoto lanciando ssh si deve digitare qualcosa del tipo:

    bash:~$ ssh <username>@<ipaddress>

esempio:

    bash:~$ ssh phyrex@192.168.23.42

attachment:Icone/Piccole/IconNote.png

Nota:

  • Si può sempre usare l'hostname (se conosciuto dal sistema (![/etc/hosts])) al posto dell'indirizzo IP.

Public key authentication

Precedentemente si è usata l'autenticazione tipica con username e password. Tuttavia se qualcuno ha 'indovinato' o è venuto in possesso della tua password la tua sicurezza può essere compromessa. Da tempo ssh offre un'autenticazione con chiave pubblica ( pubblic key authentication).

Ssh usa chiavi di accesso private e pubblica al posto di una semplice password.

A meno che non si abbia già una chiave privata , la prima cosa da fare è crearne una.

Digitare

 ssh-keygen -t dsa

Sarà chiesto dove salvare la chiave la chiave privata (si può accettare la locazione di defaul) e di scegliere una passphrase. La passphrase è usata per criptare la chiave privata. Chiunque ottenga l'accesso alla vostra chiave privata (non protetta) avrà i vostri permessi da altri calcolatori. Si consiglia di pensare bene ad una 'reale' buona password.

Ora per avere accesso ad altri computer, questi devono 'fidarsi' della tua chiave pubblica. La chiave pubblica è stata creata assieme alla chiave privata ed è generalmente locata in ~/.ssh/id_dsa.pub

L'utente target (verso cui ci si connette) deve avere questa chiave (è una linea dei caratteri di ASCII) nel relativo file di autorizzazione di chiavi pubbliche situato in ~/.ssh/authorized_keys2 del computer target. Così si deve o copiare ed incollare la linea di caratteri ASCII nel file authorized_keys2 oppure usare il comando “ssh-copy-id” come nell'esempio

 ssh-copy-id root@fileserver01

Verrà chiesta la password di root di quel computer. Se l'autenticazione con password è disabilitata si deve copiare e incollare la chiave con un altro mezzo.

Successivamente all'aggiunta della chiave pubblica si sarà 'affidabili'. Digitare

 ssh root@fileserver01

e successivamente sarà chiesta la 'passphrase' e non la password. Si noti che la password e la passphrase sono cose diverse. La password è salvata in /etc/password del computer target, mentre la passphrase è usata per decriptare la tua chiave privata sul tuo computer.

Ricapitolando: l'attuale sicurezza di una autenticazione con chiave pubblica rispetto ad una autenticazione con password è che per avere un accesso si necessita di avere:

  • la chiave privata (criptata)
  • la passphrase per decriptare la chiave privata

Così se non si scegliesse affatto la passphrase (il che è possibile -vedi dopo) si avrebbe meno sicurezza che usare solo una password.

attachment:Icone/Piccole/IconNote.png

Nota:

  • Per ragioni di sicurezza si può disabilitare l'autenticazione tramite password settando "PasswordAuthentication no" nel file /etc/ssh/sshd_config. Non si deve però poi dimenticare di riavviare ssh-server dopo il cambio di configurazione.

Limitare l'accesso a ssh

Quando si usa ssh con autenticazione con chiave pubblica esiste un'altra interessante caretteristica. Il computer target può limitare l'esecuzione dei comandi impartiti dall'utente dal suo computer. Se per esempio si gestisce un CVS, si può aggiungere nel file authorized_keys2 la seguente riga

 command="/usr/bin/cvs server" ssh-dss AAAAB3N....

Questo permetterà l'esecuzione solo dei comandi per il CVS e nessun altro.

Accesso automatico in batch scripts

L'autenticazione con chiave pubblica può anche essere usata per automatizzare procedure che richiedono in genere la digitazione della password. Si immagini di voler copiare un file da un computer remoto ogni giorno a mezzanotte. Tutto quello di cui si ha bisogno è di stabilire 'un rapporto di fiducia' tra questi due computer.

Creare un service account su un computer, creare un chiave (ssh-keygen -t dsa) e quando viene chiesta la passphrase premere INVIO. Questo lascerà la chiave privata sprotetta. Aggiungere la chiave pubblica ne file authorized_keys2 dell'altro computer (ssh-copy-id). Ora ci si può connetter con questa macchina senza che venga chiesta la passphrase. Aggiungere infine una chiamata ad ssh nel cronotab.

attachment:Icone/Piccole/IconWarning3.png

Attenzione!

  • Avere una chiave privata non protetta può compromettere la sicurezza. Gli Hackers necessiterebbero solo di venire in possesso della chiave pubblica per connettersi liberamente al computer target.

Usare ssh-agent

Se si ha frequentemente bisogno di copiare file attraverso ssh o di avere accesso agli altri computer della propria rete (che è una cosa comune per un amministratore) si sarà felici di sapere se esiste un metodo che semplifichi la digitazione della passphrase. Attualmente un modo esiste ed è chiamato ssh-agent

Si necessità solo di digitare la propria passphrase dopo aver lanciato "ssh-add" e ogni volta che verra lanciato un sub-processo di ssh-agent la passphrase sarà ricordata.

Troppa teoria?!? bhe, non ci deve preoccupare dell'agent. La tua X session sta già lavorando automaticamente in una sessione di ssh agent.... Tutto ciò che si deve fare è lanciare "ssh-add" e digitare la passphrase. La prossima volta che si userà ssh per aver accesso ad un altro computer non si dovrà ridigitare la passphrase... Bello vero?!? :)

attachment:Icone/Piccole/IconNote.png

Importante:

  • quando si lascia il proprio desktop si deve bloccare lo schermo. Altro persone potrebbero avere accesso ad altri computer dal tuo computer senza conoscere la passphrase.

Se si vuole che venga chiesta la passphrase una volta dopo il login si può aggiungere una chiamata ad “ssh-agent” come in questo caso:

  • Cliccare su *Computer*
  • Scegliere *Desktop Preferences*
  • Scegliere *Sessions*
  • Scegliere il tab *Startup Programs*
  • Cliccare *Add*
  • Digitare "ssh-add" come comando

Dopo il prossimo login sarà chiesta la passphrase.

Ssh non da Linux

Per chi non lo sapesse ssh si può utilizzare anche su sistema Windows, basta scaricare un piccolo programma che si chiama Putty [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html]

Putty, inoltre è disponibile anche in una versione per i cellulari Symbinan ["http://www.s2.org/putty/"]

Traduzione di Alessandro Albiero

Documento Originale: SSHHowto