GNU/Linux >> Linux Esercitazione >  >> Linux

Come aggiungere la chiave pubblica SSH al server

L'autenticazione con chiave pubblica consente di accedere a un server tramite SSH senza password. Ecco due metodi per copiare la chiave ssh pubblica sul server.

Credo che tu capisca il concetto di base SSH. Il tuo server Linux ha ssh abilitato. Hai generato chiavi ssh sul tuo personal computer. Ora vuoi caricare la tua chiave pubblica sulle chiavi autorizzate del server in modo da potervi accedere senza dover digitare continuamente la password del tuo account.

Questo breve tutorial mostra due metodi per aggiungere una chiave SSH pubblica al server.

Requisiti

Prima di vederlo, chiariamo cosa dovresti già avere:

  • Il tuo server di destinazione dovrebbe avere ssh abilitato
  • Dovresti aver generato chiavi ssh pubbliche e private (basta usare il comando ssh-keygen -t rsa )
  • Dovresti avere un account utente e una password sul server. Anche l'account root andrà bene.
  • Dovresti conoscere l'indirizzo IP del server

Ora che ti sei accertato dei quattro requisiti precedenti, vediamo come utilizzare l'autenticazione a chiave pubblica.

L'autenticazione è per base di utenti, quindi la chiave pubblica va nella casa dell'utente previsto.

Metodo 1:copia automaticamente la chiave ssh sul server

Il primo metodo è dove l'utente finale copia la chiave pubblica del proprio personal computer nell'elenco delle chiavi autorizzate sul server remoto.

Qui, presumo che tu sia stato in grado di accedere al server remoto usando ssh [email protected]_of_server. Ti chiede la password del tuo account e tu entri nel server.

Se aggiungi la tua chiave pubblica al server, dovresti essere in grado di accedere senza digitare la password tutto il tempo.

OpenSSH fornisce un pratico strumento chiamato ssh-copy-id per copiare le chiavi pubbliche ssh su sistemi remoti. Crea anche le directory ei file richiesti.

Come accennato in precedenza, dovresti conoscere il nome utente e la password del server a cui desideri accedere tramite l'autenticazione con chiave pubblica.

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]_ADDRESS_OF_THE_SERVER

Quando richiesto, inserisci la password per il tuo account utente sul server remoto. La tua chiave pubblica dovrebbe essere copiata automaticamente nella cartella appropriata sul server remoto.

Ho usato ~/.ssh/id_rsa.pub perché quella è la posizione predefinita per la chiave ssh pubblica. Se lo hai in un'altra posizione, dovresti usarlo nel comando sopra.

Metodo 2:copia manualmente la chiave ssh pubblica sul server

Il primo metodo prevedeva l'azione sul lato utente. Diciamo che sei l'amministratore di sistema e il tuo server non consente l'accesso SSH tramite password. L'unico modo per accedere al server è utilizzare l'autenticazione a chiave pubblica SSH.

In tal caso, puoi chiedere all'utente finale di fornire la sua chiave pubblica. Ora quello che puoi fare è creare la directory .ssh/authorized_keys e quindi copiare la chiave pubblica qui.

Lascia che ti mostri i passaggi.

Passaggio 1:ottieni la chiave pubblica

Chiedi all'utente finale di fornire la chiave pubblica digitando il seguente comando:

cat ~/.ssh/id_rsa.pub

Mostrerà una lunga stringa casuale che inizia con ssh-rsa:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP [email protected]

Puoi ricevere questo testo tramite e-mail o strumenti di messaggistica. Normalmente, non dovrebbe essere un problema.

Passaggio 2:crea la directory ssh nella home directory dell'utente (come sysadmin )

Tieni presente che devi creare queste nuove directory e file nella home directory dell'utente finale, non nella tua (root/sysadmin).

mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys

Ora apri questo file /home/user_name/.ssh/authorized_keys con un editor di testo come Vim e aggiungi la chiave pubblica dell'utente qui:

vim /home/user_name/.ssh/authorized_keys

Salva e chiudi il file. È quasi pronto.

Passaggio 3:imposta l'autorizzazione appropriata per il file

Avere un'autorizzazione file appropriata sul file ssh è molto importante, altrimenti vedrai errori come Permesso negato (chiave pubblica).

Innanzitutto, assicurati di impostare le autorizzazioni file corrette:

chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys

Hai creato quei file con account root o amministratore per qualche altro utente. Devi modificare la proprietà dell'utente:

chown -R username:username /home/username/.ssh

Ora che è fatto, puoi chiedere all'utente finale di accedere al server.

Fammi sapere se riscontri problemi o se hai suggerimenti su questo argomento.


Linux
  1. Come generare una chiave SSH in Windows 10

  2. Come impostare le chiavi SSH

  3. Come connettersi al server ssh con plink e cmd e chiave pubblica

  4. Ssh:data una chiave Ssh privata, come recuperare la chiave pubblica?

  5. Come eseguire Ssh su un server utilizzando un altro server??

Come aggiungere un IP privato a un server Ubuntu

Come eseguire l'SSH sul server tramite Linux

Come aggiungere un IP privato a un server Debian

Come aggiungere la mia chiave SSH a Github/Bitbucket?

Come aggiungere la chiave SSH al codice VS e connettersi a un host

Aggiungi la chiave pubblica al file known_hosts