In questo documento viene descritto come generare una chiave SSH (Secure Shell) privata e come usarla per il nome utente e l'autenticazione quando si accede all'interfaccia della riga di comando (CLI) su Cisco Email Security Appliance (ESA).
L'autenticazione a chiave pubblica (PKI) è un metodo di autenticazione basato su una coppia di chiavi pubblica/privata generata. Con PKI, viene generata una "chiave" speciale che ha una proprietà molto utile: Chiunque può leggere la metà pubblica della chiave è in grado di crittografare i dati che possono poi essere letti solo da una persona che ha accesso alla metà privata della chiave. In questo modo, l'accesso alla metà pubblica di una chiave consente di inviare informazioni segrete a chiunque abbia la metà privata, e di verificare che una persona abbia effettivamente accesso alla metà privata. È facile capire come questa tecnica possa essere utilizzata per l'autenticazione.
Gli utenti possono generare una coppia di chiavi e posizionare la metà pubblica della chiave su un sistema remoto, ad esempio sull'ESA. Il sistema remoto è quindi in grado di autenticare l'ID utente e di consentirvi di accedere semplicemente dimostrando di avere accesso alla metà privata della coppia di chiavi. Questa operazione viene effettuata a livello di protocollo all'interno del protocollo SSH e viene eseguita automaticamente.
Ciò significa tuttavia che è necessario proteggere la privacy della chiave privata. In un sistema condiviso in cui non si dispone di root, è possibile eseguire questa operazione crittografando la chiave privata con una passphrase, che funziona in modo simile a una password. Prima che SSH possa leggere la chiave privata per eseguire l'autenticazione della chiave pubblica, vi verrà chiesto di fornire la passphrase in modo che la chiave privata possa essere decrittografata. Su sistemi più sicuri (come un computer in cui l'utente è l'unico utente o un computer di casa in cui nessun estraneo avrà accesso fisico) è possibile semplificare questo processo creando una chiave privata non crittografata (senza passphrase) o immettendo la passphrase una volta e quindi memorizzando la chiave nella cache per la durata del tempo trascorso al computer. OpenSSH contiene uno strumento chiamato ssh-agent che semplifica questo processo.
Completare la procedura seguente per configurare una workstation (o un server) Linux/Unix per la connessione all'ESA senza password. In questo esempio non verrà specificata come passphrase.
1) Sulla workstation (o sul server), generare una chiave privata utilizzando il comando Unix ssh-keygen:
$ ssh-keygen -b 2048 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/[USERID]/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/[USERID]/.ssh/id_rsa.
Your public key has been saved in /home/[USERID]/.ssh/id_rsa.pub.
The key fingerprint is:
00:11:22:77:f6:a9:1e:19:f0:ca:28:9c:ff:00:11:22 [USERID]@hostname.com
The key's randomart image is:
+--[ RSA 2048]----+
| +... +|
| o= o+|
| o o ..|
| . ..o . + |
| . ES. o + |
| o + . . |
| o . . |
| o o |
| . . |
+-----------------+
(*quanto sopra è stato generato da un Ubuntu 14.04.1)
2) Aprire il file della chiave pubblica (id_rsa.pub) creato in #1 e copiare l'output:
$ cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJg9W3DeGf83m+E/PLGzUFPalSoJz5F
t54Wl2wUS36NLxm4IO4Xfrrb5bA97I+ZA4YcB1l/HsFLZcoljAK4uBbmpY5kXg96A6Wf
mIYMnl+nV2vrhrODgbcicEAdMcQN3wWHXiEWacV+6u+FlHlonkSAIDEug6vfnd+bsbcP
Zz2uYnx1llxbVtGftbWVssBK3LkFp9f0GwDiYs7LsXvQbTkixrECXqeSrr+NLzhU5hf6
eb9Kn8xjytf+eFbYAslam/NEfl9i4rjide1ebWN+LnkdcE5eQ0ZsecBidXv0KNf45RJa
KgzF7joke9niLfpf2sgCTiFxg+qZ0rQludntknw [USERID]@hostname.com
3) Effettuare il login all'appliance e configurare l'ESA in modo che riconosca la workstation (o il server) usando la chiave SSH pubblica creata al numero 1, quindi eseguire il commit delle modifiche. Notare la richiesta della password durante l'accesso:
$ ssh admin@192.168.0.199
******************************
CONNECTING to myesa.local
Please stand by...
******************************
Password:[PASSWORD]
Last login: Mon Aug 18 14:11:40 2014 from 192.168.0.200
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.6 for Cisco C100V build 074
Welcome to the Cisco C100V Email Security Virtual Appliance
myesa.local> sshconfig
Currently installed keys for admin:
Choose the operation you want to perform:
- NEW - Add a new key.
- USER - Switch to a different user to edit.
[]> new
Please enter the public SSH key for authorization.
Press enter on a blank line to finish.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJg9W3DeGf83m+E/PLGzUFPalSoJz5F
t54Wl2wUS36NLxm4IO4Xfrrb5bA97I+ZA4YcB1l/HsFLZcoljAK4uBbmpY5kXg96A6Wf
mIYMnl+nV2vrhrODgbcicEAdMcQN3wWHXiEWacV+6u+FlHlonkSAIDEug6vfnd+bsbcP
Zz2uYnx1llxbVtGftbWVssBK3LkFp9f0GwDiYs7LsXvQbTkixrECXqeSrr+NLzhU5hf6
eb9Kn8xjytf+eFbYAslam/NEfl9i4rjide1ebWN+LnkdcE5eQ0ZsecBidXv0KNf45RJa
KgzF7joke9niLfpf2sgCTiFxg+qZ0rQludntknw [USERID]@hostname.com
Currently installed keys for admin:
1. ssh-rsa AAAAB3NzaC1yc2EAA...rQludntknw ([USERID]@hostname.com)
Choose the operation you want to perform:
- NEW - Add a new key.
- DELETE - Remove a key.
- PRINT - Display a key.
- USER - Switch to a different user to edit.
[]>
myesa.local> commit
4) Uscire dall'accessorio e accedere nuovamente. Si noti che la richiesta della password viene rimossa e l'accesso viene concesso direttamente:
myesa.local> exit
Connection to 192.168.0.199 closed.
robert@ubuntu:~$ ssh admin@192.168.0.199
******************************
CONNECTING to myesa.local
Please stand by...
******************************
Last login: Mon Aug 18 14:14:50 2014 from 192.168.0.200
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.6 for Cisco C100V build 074
Welcome to the Cisco C100V Email Security Virtual Appliance
myesa.local>
Completare i seguenti passaggi per configurare una workstation Windows (o un server) per la connessione all'ESA senza una password. In questo esempio non verrà specificata come passphrase.
1) Aprire PuttyGen.
2) Per Tipo di chiave da generare, selezionare SSH-2 RSA.
3) Fare clic sul pulsante Genera.
4) Spostare il mouse nell'area sotto la barra di avanzamento. Quando la barra di avanzamento è piena, PuTTYgen genera la coppia di chiavi.
5) Digitare una passphrase nel campo Passphrase chiave. Digitare la stessa passphrase nel campo Conferma passphrase. È possibile utilizzare una chiave senza una passphrase, ma questa operazione non è consigliata.
6) Fare clic sul pulsante Save private key (Salva chiave privata) per salvare la chiave privata.
7) Fare clic con il pulsante destro del mouse nel campo di testo Chiave pubblica per incollare nel file OpenSSH authorized_keys e scegliere Seleziona tutto.
8) Fare di nuovo clic con il pulsante destro del mouse nello stesso campo di testo e scegliere Copia.
9) Usando PuTTY, accedere all'appliance e configurare l'ESA in modo che riconosca la workstation Windows (o il server) usando la chiave SSH pubblica salvata e copiata dal numero 6 al numero 8, quindi eseguire il commit delle modifiche. Notare la richiesta della password durante l'accesso:
login as: admin
Using keyboard-interactive authentication.
Password: [PASSWORD]
Last login: Mon Aug 18 11:46:17 2014 from 192.168.0.201
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.6 for Cisco C100V build 074
Welcome to the Cisco C100V Email Security Virtual Appliance
myesa.local> sshconfig
Currently installed keys for admin:
Choose the operation you want to perform:
- NEW - Add a new key.
- USER - Switch to a different user to edit.
[]> new
Please enter the public SSH key for authorization.
Press enter on a blank line to finish.
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAj6ReI+gqLU3W1uQAMUG0620B+tpdkjkgBn
5NfYc+qrtyB93stG38O1T4s0zHnhuKJLTdwBg/JHdFuNO77BY+21GYGS27dMp3UT9/VuQ
TjP8DmWKOa+8Mpc9ePdCBZp1C4ct9oroidUT3V3Fbl5M9rL8q4/gonSi+7iFc9uOaqgDM
/h+RxhYeFdJLechMY5nN0adViFloKGmV1tz3K9t0p+jEW5l9TJf+fl5X6yxpBBDoNcaB9
jNwQ5v7vcIZBv+fl98OcXD9SNt08G0XaefyD2VuphtNA5EHwx+f6eeA8ftlmO+PgtqnAs
c2T+i3BAdC73xwML+1IG82zY51pudntknw rsa-key-20140818
Currently installed keys for admin:
1. ssh-rsa AAAAB3NzaC1yc2EAA...51pudntknw (rsa-key-20140818)
Choose the operation you want to perform:
- NEW - Add a new key.
- DELETE - Remove a key.
- PRINT - Display a key.
- USER - Switch to a different user to edit.
[]>
myesa.local> commit
10) Dalla finestra di configurazione di PuTTy e la sessione salvata preesistente per l'ESA, scegliere Connessione > SSH > Auth e nel campo File della chiave privata per l'autenticazione, fare clic su Sfoglia e individuare la chiave privata salvata dal passo 6.
11) Salvare la sessione (profilo) in PuTTY e fare clic su Apri. Accedere con il nome utente, se non è già stato salvato o specificato dalla sessione preconfigurata. Si noti l'inclusione di "Autenticazione con chiave pubblica "[NOME FILE DELLA CHIAVE PRIVATA SALVATA]" durante l'accesso:
login as: admin
Authenticating with public key "rsa-key-20140818"
Last login: Mon Aug 18 11:56:49 2014 from 192.168.0.201
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.6 for Cisco C100V build 074
Welcome to the Cisco C100V Email Security Virtual Appliance
myesa.local>
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
20-Aug-2014 |
Versione iniziale |