English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Testo principale
0. Spiegazione
Per facilitare l'esposizione del problema, supponiamo di avere due host A e B installati con CentOS 6.5. Lo scopo è realizzare che i due host A e B possano connettersi senza password l'uno all'altro tramite ssh. Il processo di configurazione è lo stesso per diversi host, qui viene descritto il processo di configurazione dell'host A.
Creare un nuovo utente: useradd linuxidc
Impostare la password: passwd linuxidc, inserire la password desiderata e poi eseguire su linuxidc per cambiare utente
Modificare il nome host: aggiungere hostname=master a /etc/sysconfig/network, dopo aver disconnesso il sistema, vedrete che la modifica è stata eseguita con successo
Modificare il file hosts:
vim /etc/hosts 192.168.88.101 master 192.168.88.102 slave1
1. Configurazione dell'ambiente
1.1 Disabilitare il firewall (permessi root)
CentOS 6.5 è molto rigoroso nel gestire la rete, è necessario disabilitare SELinux. Andare in /etc/selinux/config e modificare SELINUX=enforcing in SELINUX=disabled. Richiede permessi di root.
# su root
Password:
$ vim /etc/selinux/config
Trovare SELINUX e modificarlo in SELINUX=disable
1.2 Modificare il file di configurazione sshd (permessi root)
$ vim /etc/ssh/sshd_config
Trovare il seguente contenuto e rimuovere i commenti "#"
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
1.3 Riavviare il servizio sshd (permessi root)
$ /sbin/service sshd restart
2. Generare la chiave pubblica e privata nel computer
Passare da root all'utente linuxidc da connettersi senza password, eseguire il comando.
# ssh-keygen -t rsa
Per default, vengono generati due file nella directory home dell'utente linuxidc (~/.ssh/):
id_rsa: Chiave privata
id_rsa.pub: Chiave pubblica
3. Importare la chiave pubblica nel file di autenticazione
3.1 Importare nel computer
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Completato questo passaggio, modifica i permessi dei file relativi secondo la step 4 per accedere senza password al computer locale. Puoi verificare con i seguenti comandi.
ssh localhost
Se riesci a accedere, significa che la verifica è riuscita.
3.2 Importa nel host di destinazione
3.2.1 Operazioni sul computer locale, trasmissione al host di destinazione
# scp ~/.ssh/id_rsa.pub root@ip_o_nome_host_di_destinazione:/home/id_rsa.pub
Attenzione: durante la trasmissione del file al host di destinazione, utilizza l'utente root, altrimenti verrà rifiutato per mancanza di permessi. Dopo aver inserito la password del host di destinazione, compare OK, il che significa che la trasmissione è avvenuta con successo.
3.2.2 Accedi al host di destinazione e importa la chiave pubblica nel file di autenticazione
Utilizza il nome utente linuxidc per accedere al host di destinazione. Poi esegui le seguenti operazioni.
# cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
Riapplica i permessi dei file relativi secondo la step 4 per completare l'impostazione dell'accesso senza password.
4. Modifica i permessi dei file relativi
# chmod 700 ~/.ssh # chmod 600 ~/.ssh/authorized_keys
Fino a questo punto, è stato completato l'impostazione dell'accesso senza password.
5. Test
Macchina A (linuxidc@master), macchina B (linuxidc@slave1). Sul computer A, cambia utente in linuxidc e esegui i seguenti comandi per il test:
ssh slave1
Di seguito è riportato il tutorial di configurazione dell'accesso SSH senza password in CentOS 6.5 che ho introdotto per voi, spero che sia utile. Se avete qualsiasi domanda, lasciate un commento e risponderò prontamente. In questo senso, ringrazio anche tutti i sostenitori del sito di tutorial di grida.