ssh

Come copiare le chiavi SSH

Come copiare le chiavi SSH
SSH è uno strumento importante quando si tratta di un lavoro da svolgere in un altro server. Puoi spostare file, sincronizzare cartelle, migrare account e file del server, copiare backup, ecc. Esistono numerosi usi per SSH e l'importanza delle chiavi SSH è quando c'è un processo più ripetitivo da eseguire in un breve periodo come la copia di alcuni file o cartelle, più utenti, più cartelle, più account, backup di cpanel ecc. sarà davvero noioso e dispendioso in termini di tempo se devi fornire la password ssh ogni volta che viene richiesta. La configurazione delle chiavi SSH può impedire la necessità di inserire manualmente la password per ogni attività.

Per impostare le chiavi SSH tra due server dobbiamo seguire questi passaggi:

Passaggio 1: creare una coppia di chiavi nel server di origine

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:

Nella riga "Inserisci file in cui salvare la chiave" (/radice/.ssh/id_rsa):”

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 (s/n)?

Dovresti prendere una copia del .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 "Enter passphrase (empty for no passphrase):" Questa è una procedura di sicurezza aggiuntiva che chiederà la passphrase ogni volta che si tenta di accedere a SSH e che funzionerà come una 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:

[email protected]:~$ ssh-keygen
Generazione di una coppia di chiavi rsa pubblica/privata.
Inserisci il file in cui salvare la chiave (/root/.ssh/id_rsa):
Directory creata '/root/.ssh'.
Inserisci la passphrase (vuota per nessuna passphrase):
Inserisci di nuovo la stessa passphrase:
La tua identificazione è stata salvata in /root/.ssh/id_rsa.
La tua chiave pubblica è stata salvata in /root/.ssh/id_rsa.pub.
L'impronta digitale chiave è:
SHA256:z4nl0d9vJpo/5bdc4gYZh8nnTjHtXB4Se/UqyuyigUI sumesh@Sree
L'immagine randomart della chiave è:
+---[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

2.1 Usare il 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 automatici per il lavoro di amministratore di sistema senza dover inserire manualmente una password e risparmiare tempo sull'accesso quotidiano ai sistemi che usi sempre.

Per prima cosa devi verificare se esiste un comando come questo e se il comando funziona e l'utente che stai provando sta avendo 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 sull'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

root@Source]]:~$ ssh-copy-id   [email protected] 1986
L'autenticità dell'host '[192.1.1.19]:1986 ([192.1.1.19]:1986)' non può 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/bin/ssh-copy-id: INFO: tentativo di accesso con le nuove chiavi,
per filtrare quelli già installati
/usr/bin/ssh-copy-id: INFO: 1 chiave/i rimane/e da installare, se richiesto
ora si tratta di installare le nuove chiavi
[email protected] password dei 19:

Inserisci la password e poi premi invio.

Numero di chiavi aggiunte: 1

Ora 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 utilizzando 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 id_rsa.pub file in /root/.ssh/authorized_keys file sul tuo computer di destinazione.  Se hai intenzione di copiare la chiave sull'utente root, la posizione sarà /radice/.ssh/chiave_autorizzate .

Dal passaggio 1: potresti aver visto la riga sottostante

La tua chiave pubblica è stata salvata in /radice/.ssh/id_rsa.pub.

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 copiarlo o incollarlo nelle chiavi_autorizzate del server remoto

Quindi segui i passaggi seguenti

Il comando sottostante ti darà la chiave da copiare:

[email protected]$ cat /root/.ssh/id_rsa.pub
ssh-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== root@Source

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 dell'accesso root diretto, copia la chiave direttamente in /root/.ssh/ sezione

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 /root/.ssh

Se la cartella non è presente, creala con il comando seguente:

[e-mail protetta]$ mkdir -p /root/.ssh
[email protected]$ touch /root/.ssh/chiave_autorizzate
[email protected]:$ echo “ssh-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==root@Source“ >>
/radice/.ssh/chiave_autorizzate

Assicurati che il permesso della cartella sia quello corretto

chmod -R go= /root/.ssh/

Dopodiché 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.

Tutorial Battaglia per Wesnoth
The Battle for Wesnoth è uno dei giochi di strategia open source più popolari a cui puoi giocare in questo momento. Non solo questo gioco è in svilupp...
0 A.D. Tutorial
Tra i tanti giochi di strategia in circolazione, 0 A.D. riesce a distinguersi come un titolo completo e un gioco molto profondo e tattico nonostante s...
Tutorial Unity3D
Introduzione a Unity 3D Unity 3D è un potente motore di sviluppo di giochi. È multipiattaforma cioè ti permette di creare giochi per mobile, web, desk...