Adiciona um usuário sem senha, mas com SSH e chave pública

16

Eu quero adicionar um usuário ao Red Hat Linux que não irá usar uma senha para o login, mas sim usar uma chave pública para o ssh. Isso estaria na linha de comando.

    
por user119776 17.06.2015 / 12:42

3 respostas

24

Comece a criar um usuário:

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

Crie um par de chaves do cliente que você usará para ssh de:

ssh-keygen -t dsa

Copie a chave pública /home/username/.ssh/id_dsa.pub para o host RedHat em /home/username/.ssh/authorized_keys

Defina as permissões corretas nos arquivos no host RedHat:

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

Certifique-se de que a autenticação de chave pública esteja ativada no host RedHat:

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

Se não, altere essa diretiva para yes e reinicie o sshd service no host RedHat.

No cliente, inicie uma ssh connection:

ssh username@redhathost

Ele deve procurar automaticamente a chave id_dsa in ~/.ssh/ . Você também pode especificar um arquivo de identidade usando:

ssh -i ~/.ssh/id_dsa username@redhathost
    
por 17.06.2015 / 13:04
4

Você pode usar:

usermod --lock <username>

Da página do manual:

Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password. You can't use this option with -p or -U. Note: if you wish to lock the account (not only access with a password), you should also set the EXPIRE_DATE to 1.

    
por 17.06.2015 / 12:56
4

No Ubuntu, você pode adicionar o usuário com:

adduser --disabled-password <username>

Em seguida, crie o arquivo .ssh/authorized_keys em seu diretório pessoal com sua chave pública.

    
por 10.06.2017 / 00:32