Quero adicionar um usuário ao Red Hat Linux que não use uma senha para efetuar login, mas use uma chave pública para ssh. Isso estaria na linha de comando.
Quero adicionar um usuário ao Red Hat Linux que não use uma senha para efetuar login, mas use uma chave pública para ssh. Isso estaria na linha de comando.
Respostas:
Comece criando um usuário:
useradd -m -d /home/username -s /bin/bash username
Crie um par de chaves do cliente que você usará para ssh
:
ssh-keygen -t dsa
Copie a chave pública /home/username/.ssh/id_dsa.pub
no host RedHat para/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
Verifique se a autenticação de chave pública está ativada no host RedHat:
grep PubkeyAuthentication /etc/ssh/sshd_config
#should output:
PubkeyAuthentication yes
Caso contrário, altere essa diretiva para yes e reinicie o sshd
serviço no host RedHat.
No cliente, inicie uma ssh
conexão:
ssh username@redhathost
Deve procurar automaticamente a chave id_dsa
no ~/.ssh/
. Você também pode especificar um arquivo de identidade usando:
ssh -i ~/.ssh/id_dsa username@redhathost
Você poderia usar:
usermod --lock <username>
Na página do manual:
Bloqueie a senha de um usuário. Isso coloca um '!' na frente da senha criptografada, desativando efetivamente a senha. Você não pode usar esta opção com -p ou -U. Nota: se você deseja bloquear a conta (não apenas acessar com uma senha), também deve definir EXPIRE_DATE como 1.