Eu configurei o .ssh / authorized_keys e consigo fazer login com o novo "usuário" usando a chave pub / private ... Eu também adicionei "user" à lista de sudoers ... o problema que tenho agora é quando eu tento executar um comando sudo, algo simples como:
$ sudo cd /root
ele solicitará minha senha, que eu insiro, mas não funciona (estou usando a senha da chave privada que eu configurei)
Além disso, desativei a senha do usuário usando
$ passwd -l user
O que estou perdendo?
Em algum lugar, minhas observações iniciais estão sendo mal entendidas ...
Estou tentando fortalecer meu sistema ... o objetivo final é usar chaves de pub / private para fazer logins versus autenticação de senha simples. Eu descobri como configurar tudo isso através do arquivo authorized_keys.
Além disso, acabarei por impedir logins do servidor através da conta root. Mas antes que eu faça isso eu preciso do sudo para trabalhar para um segundo usuário (o usuário que eu vou entrar no sistema com o tempo todo).
Para este segundo usuário eu quero evitar logins de senha regulares e forçar apenas logins de pub / private key, se eu não bloquear o usuário via "passwd -l user ... então se eu não usar uma chave, Ainda posso entrar no servidor com uma senha regular.
Mas, mais importante , preciso que o sudo funcione com uma configuração de pub / chave privada com um usuário cuja senha tenha sido desativada.
Editar: OK, acho que entendi (a solução):
1) Eu ajustei o / etc / ssh / sshd_config e configurei PasswordAuthentication no
Isso evitará logins de senha ssh (certifique-se de ter uma configuração de chave pública / privada funcionando antes de fazer isso
2) Eu ajustei a lista de sudoers visudo
e adicionei
root ALL=(ALL) ALL
dimas ALL=(ALL) NOPASSWD: ALL
3) root é a única conta de usuário que terá uma senha, estou testando com duas contas de usuário "dimas" e "sherry" que não possuem uma senha definida (as senhas estão em branco, passwd -d user
)
O que foi mencionado acima essencialmente impede que todos façam login no sistema com senhas (uma chave pública / privada deve ser configurada).
Além disso, os usuários na lista de sudoers têm habilidades administrativas. Eles também podem su
para contas diferentes. Então, basicamente, "dimas" pode sudo su sherry
, no entanto "dimas NÃO pode fazer su sherry
. Da mesma forma, qualquer usuário que NÃO esteja na lista de sudoers NÃO poderá fazer su user
ou sudo su user
.
OBSERVAÇÃO Os itens acima funcionam, mas são considerados de baixa segurança. Qualquer script que consiga acessar o código como os usuários "dimas" ou "xerez" poderá executar o sudo para obter acesso root. Um bug no ssh que permite que usuários remotos efetuem login apesar das configurações, execução remota de código em algo parecido com o Firefox ou qualquer outra falha que permita a execução de código indesejado, pois o usuário agora poderá rodar como root. Sudo deve sempre exigir uma senha ou você pode também logar como root ao invés de algum outro usuário.