Sto cercando di creare una chiave ssh per un altro utente. Ho effettuato l'accesso come root. Posso semplicemente modificare i file generati da ssh-keygen e cambiare root con l'utente che desidero?
Sto cercando di creare una chiave ssh per un altro utente. Ho effettuato l'accesso come root. Posso semplicemente modificare i file generati da ssh-keygen e cambiare root con l'utente che desidero?
Risposte:
Puoi farlo con ssh-keygen
, tuttavia, ricorda che la chiave privata è pensata per essere privata per l'utente, quindi dovresti stare molto attento a tenerla al sicuro, come la password dell'utente. O ancora più sicuro, poiché è probabile che l'utente non debba modificarlo al primo accesso.
ssh-keygen -f anything
crea due file nella directory corrente. anything.pub
è la chiave pubblica, che è possibile aggiungere all'utente ~/.ssh/authorized_keys
su qualsiasi server di destinazione.
L'altro file, appena chiamato anything
è la chiave privata e quindi deve essere archiviato in modo sicuro per l'utente. Il percorso predefinito sarebbe ~username/.ssh/id_rsa
(qui denominato id_rsa
, che è predefinito per le chiavi rsa). Ricorda che la .ssh
directory non può essere leggibile o scrivibile da chiunque tranne l'utente, e la directory home dell'utente non può essere scrivibile da nessuno tranne l'utente. Allo stesso modo, anche le autorizzazioni devono essere rigorose sulla chiave privata: lettura / scrittura solo per l'utente, e la directory .ssh e il file di chiavi privato devono essere di proprietà dell'utente.
Tecnicamente potresti conservare la chiave ovunque. Con ssh -i path/to/privatekey
te puoi specificare quella posizione, durante la connessione. Ancora una volta, la proprietà e le autorizzazioni appropriate sono fondamentali e ssh non funzionerà se non le hai nel modo giusto.
ssh -i
a una chiave privata per un processo senza privilegi è il modo in cui gestisco più di alcuni processi di backup rsync automatizzati. :)
users
oppureuser's
Non ci sono informazioni utente nelle chiavi SSH .
L'ultimo campo in una chiave pubblica è un commento (e può essere modificato eseguendo il comando seguente ssh-keygen -C newcomment
).
Non è necessario fare nulla di speciale per creare una chiave per un altro utente, basta inserirlo nella posizione corretta e impostare le autorizzazioni.
Diventa l'utente usando su ed esegui la chiave come quell'utente:
[root@kvm0001 ~]# su - joeuser
[joeuser@kvm0001 ~]$ ssh-keygen -t dsa (or rsa1 or rsa, depending on your security requirements)
Generating public/private dsa key pair.
Enter file in which to save the key (/home/joeuser/.ssh/id_dsa):
joeuser
è un utente del servizio, quindi non riesco ad accedere come loro. Come posso consentire a un utente del servizio (che esegue solo processi) di avere una chiave ssh?
Come visto qui , è possibile utilizzare chmod per modificare le autorizzazioni di lettura della cartella dell'utente a cui si desidera aggiungere la chiave SSH.
vim /home/username/.ssh/authorized_keys
Quindi, è sufficiente incollare la chiave in una nuova riga nella parte inferiore di quel file