GNU/Linux >> Linux Esercitazione >  >> Linux

Gestisci le coppie di chiavi SSH per i server cloud con python-novaclient

Il protocollo SSH per la connessione remota ai server supporta l'utilizzo di coppie di chiavi al posto degli accessi basati su password. La chiave privata esiste sulla macchina che avvia la connessione (di solito una workstation) e la chiave pubblica esiste in un account utente sul server remoto. Quando tenti una connessione, le chiavi pubblica e privata interagiscono per autenticare l'utente.

L'autenticazione a coppia di chiavi è più sicura dell'autenticazione basata su password. Se ti connetti regolarmente dalle stesse macchine, disabilitare l'autenticazione basata su password tramite SSH e consentire solo l'autenticazione a coppia di chiavi protegge il tuo server dai tentativi di accesso con forza bruta.

Per ulteriori informazioni sull'utilizzo di SSH per la connessione ai server, vedere i seguenti articoli:

  • Per informazioni sulla connessione e la generazione di chiavi sulla riga di comando di Linux® o sul terminale macOS® X, vedere:Connessione a un server tramite SSH su Linux o Mac OS.
  • Per informazioni sull'utilizzo di PuTTY® su Microsoft® Windows® per effettuare connessioni SSH, vedere:Connessione a Linux da Windows tramite PuTTY.
  • Per informazioni sull'utilizzo di PuTTYgen® su Windows per generare coppie di chiavi, vedere:Generazione di chiavi RSA con SSH - PuTTYgen

Questo articolo illustra l'utilizzo dello strumento da riga di comando python-novaclient per generare una coppia di chiavi e assegnarne la chiave pubblica a un server Linux® quando crei il server.

Puoi anche gestire le coppie di chiavi direttamente utilizzando l'API dei server cloud.

Prerequisiti

Installa client python-nova sul computer client. Per trovare istruzioni dettagliate per configurare il client, vedere Utilizzo di python-novaclient con Rackspace Cloud.

Crea una coppia di chiavi

La keypair comando in python-novaclient crea o carica una coppia di chiavi esistente e la associa a un nome a cui puoi fare riferimento nelle operazioni di compilazione.

Puoi creare una nuova coppia di chiavi utilizzando keypair-add comando per nova ignorando un nome per la coppia di chiavi come argomento. L'operazione API memorizza la chiave pubblica nel tuo profilo utente. L'output del comando è la chiave privata.

Ad esempio, per creare una coppia di chiavi denominata mykey e invialo a un file in .ssh directory dell'utente corrente, è possibile eseguire il seguente comando:

nova keypair-add mykey > ~/.ssh/webserver_rsa

Nota :Assegna un nome qualsiasi al file di chiavi e mettilo in una posizione che potrai in seguito. Se generi più chiavi per server diversi, è utile assegnare ai file di chiavi il nome dei server.

Solo la chiave pubblica esiste nel tuo profilo. Se perdi la chiave privata, devi generare una nuova coppia di chiavi.

Carica una chiave esistente

Se hai già una coppia di chiavi generata, puoi aggiungere la chiave pubblica al tuo profilo usando il keypair-add comando per nova con il --pub-key opzione, come mostrato nell'esempio seguente:

nova keypair-add --pub-key id_rsa.pub mykey

Elenca chiavi

Per elencare le chiavi associate al tuo profilo, utilizza l'keypair-list comando per nova , come mostrato nell'esempio seguente:

nova keypair-list

Mostra dettagli chiave

Per vedere i dettagli su una particolare chiave pubblica nel tuo elenco, usa il keypair-show comando per nova e fare riferimento al nome assegnato alla coppia di chiavi, come mostrato nell'esempio seguente:

nova keypair-show mykey

Puoi utilizzare questo comando per recuperare la tua chiave pubblica da utilizzare con un altro server.

Elimina chiave

Per rimuovere una chiave pubblica dal tuo profilo, usa keypair-delete comando pernova e fare riferimento al nome assegnato alla coppia di chiavi, come mostrato nell'esempio seguente:

nova keypair-delete mykey

Crea un server con una chiave iniettata

Per creare un server che include una chiave pubblica memorizzata per l'utente root, utilizzare il seguente comando di creazione del server di avvio con il --key-name argomento:

nova boot --flavor performance1-1 --image <image-id> --key-name mykey Test_Server

La risposta al comando mostra le informazioni sul tuo server, incluso un key_name: mykey campo che mostra la chiave associata a quel server.

Connetti a un server con una coppia di chiavi

Dopo che il server che hai creato con una coppia di chiavi è attivo e funzionante, puoi accedere utilizzando quella coppia di chiavi.

Su Linux e macOS, puoi aggiungere la tua chiave privata al tuo account utente .ssh directory e nomina il tuo server in ~/.ssh/config file, come mostrato nell'esempio seguente:

Host myservername
User myuser
HostName myServerDnsOrIp
IdentityFile /path/to/appropriate/ssh/rsa/private/key

Oppure puoi usare -i opzione per ssh per identificare la chiave privata per una connessione. Ad esempio:

ssh -i ~/.ssh/webserver_rsa [email protected]

Coppie di chiavi e controllo degli accessi basato sui ruoli (RBAC)

Le coppie di chiavi vengono memorizzate per gli utenti e non per gli account. Pertanto, un utente configurato su un account non può vedere o manipolare le chiavi di altri utenti sull'account, indipendentemente dal ruolo assegnato a quell'utente.

Utilizza la scheda Feedback per inserire commenti o porre domande. Puoi anche avviare una conversazione con noi.


Linux
  1. Configurazione di server SSH containerizzati per la registrazione della sessione con tlog

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

  3. Impossibile accedere a Google Cloud Server dopo il riavvio?

  4. Ssh Mappa chiave pubblica-privata per il cliente?

  5. Utilizzo del client python-nova con Rackspace Cloud Server

Come gestire in remoto un server Linux con SSH

Come gestire in remoto il server Ubuntu con SSH

Crea un server cloud

Genera chiavi RSA con SSH usando PuTTYgen

Accedi a un server Linux con una chiave privata SSH su un client Windows

Gestisci un server cloud