Agregue un usuario sin contraseña pero con SSH y clave pública


33

Quiero agregar un usuario a Red Hat Linux que no usará una contraseña para iniciar sesión, sino que usará una clave pública para ssh. Esto estaría en la línea de comando.


useradd --password-disable y adduser --password disable. He mirado las opciones para ambos y no veo la contraseña deshabilitada como una opción para ninguno.
user119776

¿Sabes cómo configurar un inicio de sesión de clave ssh en general? Creo que la cuenta solo necesita no estar bloqueada, lo que implicaría que hay alguna contraseña activa. Puede ser una contraseña larga que nadie sabe realmente.
Micah Yoder

Tengo la clave y sé que necesito crear la carpeta en el directorio del usuario y pegar la parte pública allí. Puedo intentarlo de esa manera, pero pensé que también necesitaba deshabilitar la contraseña de usuario.
user119776

En lugar de hacer otra publicación que muestre cómo agregar un usuario, estoy de acuerdo con Lambert. Debe centrarse específicamente en la parte de esta tarea con la que tiene problemas. Si ni siquiera sabe cómo agregar un usuario, debe comenzar con poco y avanzar. Creo que solo necesita crear el usuario, no establecer ninguna contraseña y poner su clave en /home/username/.ssh/authorized_keys.
Baazigar

Respuestas:


37

Comience con la creación de un usuario:

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

Cree un par de claves desde el cliente que utilizará para ssh:

ssh-keygen -t dsa

Copie la clave pública /home/username/.ssh/id_dsa.puben el host RedHat en/home/username/.ssh/authorized_keys

Establezca los permisos correctos en los archivos en el host RedHat:

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

Asegúrese de que la autenticación de clave pública esté habilitada en el host RedHat:

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

De lo contrario, cambie esa directiva a sí y reinicie el sshdservicio en el host RedHat.

Desde el cliente, inicie una sshconexión:

ssh username@redhathost

Debe tener un aspecto de forma automática para la llave id_dsaen ~/.ssh/. También puede especificar un archivo de identidad usando:

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

3
En realidad no me olvidé del bloqueo de contraseña. Como simplemente no lo configuré, la contraseña del usuario recién creado se bloquea automáticamente.
Lambert

3
use RSA en lugar de DSA
sg

se da cuenta de que el comando "ssh-keygen -t dsa" creará claves para el usuario actual, puede reemplazar sus propias claves
yarun puede

15

En Ubuntu puedes agregar al usuario con:

adduser --disabled-password <username>

Luego cree un .ssh/authorized_keysarchivo en su directorio de inicio con su clave pública.


7

Podrías usar:

usermod --lock <username>

Desde la página del manual:

Bloquee la contraseña de un usuario. Esto pone un '!' delante de la contraseña cifrada, deshabilitando efectivamente la contraseña. No puede usar esta opción con -p o -U. Nota: si desea bloquear la cuenta (no solo el acceso con una contraseña), también debe establecer EXPIRE_DATE en 1.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.