Aggiungi un utente senza password ma con SSH e chiave pubblica


33

Voglio aggiungere un utente a Red Hat Linux che non utilizzerà una password per l'accesso, ma utilizzerà invece una chiave pubblica per ssh. Questo sarebbe sulla riga di comando.


useradd --password-disable e adduser --password disable. Ho esaminato le opzioni per entrambi e non vedo la disabilitazione della password come opzione per entrambi.
user119776,

Sai come impostare un login con chiave ssh in generale? Penso che l'account non debba essere bloccato, il che implicherebbe che è attiva una password. Può essere una password lunga che nessuno conosce davvero.
Micah Yoder,

Ho la chiave e so che devo creare la cartella nella directory dell'utente e incollare la parte pubblica lì. Posso provare in questo modo, ma ho pensato che avrei dovuto disabilitare anche la password dell'utente.
user119776,

Piuttosto che fare un altro post che ti mostri come aggiungere un utente, sono d'accordo con Lambert. Devi concentrarti in modo specifico sulla parte di questo compito con cui hai problemi. Se non sai nemmeno come aggiungere un utente, dovresti iniziare in piccolo e andare avanti. Credo che devi solo creare l'utente, non impostare alcuna password e inserire la chiave in /home/username/.ssh/authorized_keys.
Baazigar,

Risposte:


37

Inizia con la creazione di un utente:

useradd -m -d /home/username -s /bin/bash username

Crea una coppia di chiavi dal client che utilizzerai sshda:

ssh-keygen -t dsa

Copia la chiave pubblica /home/username/.ssh/id_dsa.pubsull'host RedHat in/home/username/.ssh/authorized_keys

Impostare le autorizzazioni corrette per i file sull'host RedHat:

chown -R username:username /home/username/.ssh
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys

Assicurarsi che l'autenticazione con chiave pubblica sia abilitata sull'host RedHat:

grep  PubkeyAuthentication /etc/ssh/sshd_config
#should output:
PubkeyAuthentication yes

In caso contrario, modificare tale direttiva su yes e riavviare il sshdservizio sull'host RedHat.

Dal client avvia una sshconnessione:

ssh username@redhathost

Dovrebbe apparire automaticamente la chiave id_dsain ~/.ssh/. Puoi anche specificare un file di identità usando:

ssh -i ~/.ssh/id_dsa username@redhathost

3
In realtà non ho dimenticato il blocco della password. Dato che semplicemente non l'ho impostato, la password dell'utente appena creato viene automaticamente bloccata.
Lambert,

3
usa RSA invece di DSA
sg

ti rendi conto che il comando "ssh-keygen -t dsa" creerà le chiavi per l'utente corrente, potrebbe sostituire le tue chiavi
yarun può il

15

Su Ubuntu puoi aggiungere l'utente con:

adduser --disabled-password <username>

Quindi crea il .ssh/authorized_keysfile nella loro directory home con la loro chiave pubblica.


7

Puoi usare:

usermod --lock <username>

Dalla pagina man:

Blocca la password di un utente. Questo mette un "!" davanti alla password crittografata, disabilitando efficacemente la password. Non puoi usare questa opzione con -p o -U. Nota: se si desidera bloccare l'account (non solo accedere con una password), è necessario impostare EXPIRE_DATE su 1.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.