Per impostare le chiavi SSH tra due server dobbiamo seguire questi passaggi:
Crea una coppia di chiavi sul server di origine. Quando diamo il comando ssh-keygen, per impostazione predefinita creerà una coppia di chiavi RSA a 2048 bit e se hai bisogno di una crittografia più forte puoi usare anche 4096 bit. Per questo è necessario utilizzare -b 4096 nel comando ssh-keygen end. Sto usando quello predefinito qui.
Un paio di cose da fare nell'output seguente:
In linea Inserisci il file in cui salvare la chiave |_+_|
Sta chiedendo il percorso per salvare la chiave e quello predefinito normalmente va bene. Se l'impostazione predefinita va bene, puoi semplicemente premere invio. Se vuoi provare un percorso alternativo, devi specificare lo stesso lì. Alcune volte questo dirà come:
/radice/.ssh/id_rsa esiste già. Sovrascrivi(e/n)?Dovresti prendere una copia della cartella .ssh prima di apportare modifiche o dovresti sapere cosa stai facendo. L'invio di un Sì farà sì che la vecchia chiave (se già in uso) non funzioni.
Nella riga Immettere la passphrase (vuota per nessuna passphrase): questa è una procedura di sicurezza aggiuntiva che richiederà la passphrase ogni volta che si tenta di accedere a SSH e che funzionerà come verifica in 2 passaggi. Ma se hai bisogno dell'accesso ssh per qualsiasi script o qualsiasi altro lavoro diretto e lavori veloci, allora è meglio non averlo. Oltre allo scripting o all'automazione dei lavori, ti suggeriremo di averlo di sicuro.
Risultato completo del comando per riferimento:
[e-mail protetta] :~$ssh-keygenGenerazione di pubblico/coppia di chiavi rsa private.
accederefile in qualeper salvare la chiave(/radice/.ssh/id_rsa):
Directory creata'/root/.ssh'.
Inserisci la passphrase(vuotopernessuna passphrase):
Inserisci di nuovo la stessa passphrase:
La tua identificazione è stata salvatain /radice/.ssh/id_rsa.
La tua chiave pubblica è stata salvatain /radice/.ssh/id_rsa.pub.
L'impronta digitale chiave è:
SHA256:z4nl0d9vJpo/5bdc4gYZh8nnTjHtXB4Se/UqyuyigUI sumesh@Sì
Il tastol'immagine randomart di è:
+---[RSA 2048]----+
| |
| . |
| . oo.o |
| .=o=o+|
| E S o. * OBo |
| . . * o +. +. = |
| . . . .o=. =ooo|
| . .. + o*.B|
| .. o. o + oB + |
+----[SHA256]-----+
[e-mail protetta] ~$
Passaggio 2: copia questa coppia di chiavi creata sul server di destinazione
Esistono 2 modi diversi per copiarlo sul server di destinazione
- Utilizzo del comando ssh-copy-id
- Copiare la chiave ssh usando il normale utente/pass ssh come un liner dalla nostra macchina locale o dopo aver effettuato l'accesso al server.
2.1 Utilizzo del comando ssh-copy-id
ssh-copy-id gestirà la copia e l'impostazione della chiave su un server remoto nel modo corretto per te. Una volta completato il comando non avrai bisogno di una password per ogni login. Ora puoi scrivere tutti i tuoi script automatizzati per il lavoro di amministratore di sistema senza dover inserire manualmente una password e risparmiare tempo sull'accesso quotidiano ai sistemi che utilizzi sempre.
Per prima cosa devi verificare se esiste un comando come questo e se il comando funziona e l'utente che stai provando ha accesso a questo comando, quindi puoi usare questo comando per copiare la chiave pubblica sul server remoto. Questa utility eseguirà la scansione del tuo account locale per qualsiasi chiave pubblica rsa e ti chiederà la password dell'account dell'utente remoto.
Qui copieremo la chiave ssh di root nell'accesso a livello di root del server. Quindi, per ottenere questo copiato, devi accedere / passare all'utente per il quale hai creato la chiave. In questo caso stiamo provando la connessione root-root.
L'output completo è sotto e sto aggiungendo i dettagli necessari tra di loro
radice@Fonte]]:~$ ssh-copy-id root@192.1.1.19-P 1986L'autenticità dell'ospite'[192.1.1.19]: 1986 ([192.1.1.19]: 1986)'Poterenon essere stabilito.
L'impronta digitale della chiave ECDSA è SHA256:YYOj54aEJvIle4D2osDiEhuS0NEDImPTiMhHGgDqQFk.
Sei sicuro di voler continuare a connetterti (sì/no)? sì
Se lo stai usando per la prima volta, riceverai una risposta del genere e dovrai digitare yes e quindi premere invio
/usr/sono/ssh-copy-id: INFO: tentativo di accessoincon la nuova chiave(S),per filtrare quelli già installati
/usr/sono/ssh-copy-id: INFO:1chiave(S)restano da installare- Seti viene chiesto
ora è perinstallarele nuove chiavi
radice@192.1.1.19la password di:
Inserisci la password e poi premi invio.
Numero di chiavi(S)aggiunto:1Ora prova ad accedere alla macchina, con: ssh -p '1986' '[email protected] ′
e controlla che funzioni come previsto.
Dopodiché sarai in grado di accedere al server senza alcuna password. Una volta che la password less auth funziona correttamente, è possibile disabilitare l'autenticazione della password in modo da poter bloccare l'accesso ssh semplicemente utilizzando le chiavi ssh
2.2 Copiare la chiave ssh usando il normale utente/pass ssh manualmente
Se in qualche modo non riesci a far funzionare il comando sopra, aggiungerò i passaggi in modo che tu possa copiare la chiave ssh e impostare la password meno autenticazione dalla tua macchina al tuo server.
Per fare ciò, dobbiamo aggiungere manualmente il contenuto del tuo file id_rsa.pub al file /root/.ssh/authorized_keys sul tuo computer di destinazione. Se stai per copiare la chiave nell'utente root, la posizione sarà |_+_|
Dal passaggio 1: potresti aver visto la riga sottostante
La tua chiave pubblica è stata salvata in |_+_|
Questo dice che la chiave pubblica che devi copiare sul server remoto si trova nel file sopra. Quindi è necessario copiare il contenuto di questo file e quindi copiarli o incollarli nelle chiavi_autorizzate del server remoto
Quindi segui i passaggi seguenti
Il comando sottostante ti darà la chiave da copiare:
[e-mail protetta] $gatto /radice/.ssh/id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9Hg
H1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ
8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBicO6x+PnUS
GHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UV
KzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ik
rygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZ
X3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCS
q54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY0
95ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G
2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv +Ow9gI0x8GvaQ== radice@Fonte
Accedi al server remoto su cui devi copiare questa chiave sopra e assicurati di utilizzare lo stesso utente a cui devi copiare la chiave ssh. Se hai bisogno di un accesso root diretto, copia la chiave direttamente in /root/.ssh/ section
Crea una cartella .ssh se non esiste
Per verificare se esiste e in caso contrario crearlo utilizzando i comandi seguenti:
[e-mail protetta] :$ls -l /radice/.sshSe la cartella non è presente, creala con il comando seguente:
[e-mail protetta] $mkdir -P /radice/.ssh[e-mail protetta] $tocco /radice/.ssh/chiavi_autorizzate
[e-mail protetta] :$buttato fuorissh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44 + tXfJ7mIrKNxOOwxI
xvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3
EG112n6d + SMXY0OEBicO6x + PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B + ZV
IpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZI
SvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1
nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly
57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsd
BIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv +Ow9gI0x8GvaQ==radice@Fonte>>
/radice/.ssh/chiavi_autorizzate
Assicurati che il permesso della cartella sia quello corretto
chmod -R andare=/radice/.ssh/Successivamente, prova ad accedere al server da un nuovo terminale e assicurati che l'autenticazione senza chiave funzioni come previsto. Solo allora disabilita l'autenticazione della password nella configurazione ssh.
NOTA: assicurati di essere in grado di accedere al server in base alle tue esigenze (direttamente dalla tua macchina, oppure puoi accedere a un altro utente nel server remoto e passare a root da quell'account manualmente usando su o sudo ) e quindi solo disabilita l'autenticazione della password, altrimenti c'è la possibilità di bloccare gli utenti root.
Se hai bisogno puoi sempre contattarmi per qualsiasi aiuto e condividere i tuoi commenti.