Forçar senha para login do ssh

2

Eu tenho dois servidores com o CentOS6 e o CentOS7.

Ambos têm acesso SSH. Meu computador cliente tem o Ubuntu 16.04.

Para o CentOS6 eu consigo logar com o comando

ssh -i ~/.ssh/serv1 root@serv1

mas comando

ssh root@serv1

solicita a senha. Está tudo bem para mim.

Para o CentOS7 eu consigo logar com o comando

ssh -i ~/.ssh/serv2 root@serv2

mas comando

ssh root@serv2

NÃO solicita a senha. Eu consigo fazer login com sucesso também.

Quando eu faço 'ssh root @ serv2' de algum outro computador ssh pede as senhas, está tudo bem.

A pergunta é: por que eu consigo logar no serv2 sem senha e sem a chave ssh com o comando

ssh -i ~/.ssh/serv2 root@serv2

?

Não consigo encontrar a opção responsável por ele e não consigo encontrar esse comportamento padrão para o CentOS7.

Diga-me se precisar de informações adicionais.

    
por venoel 12.07.2017 / 08:47

1 resposta

0

Isso porque você tem sua identidade (chave pública) adicionada como chave autorizada no serv2 em /root/.ssh/authorized_keys . Veja man sshd section AUTHORIZED_KEYS FILE FORMAT para mais informações sobre este arquivo.

Sua identidade padrão é armazenada em ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_rsa, id_ed25519 arquivos e arquivos semelhantes, terminando com .pub armazenando as respectivas chaves públicas. Quando você tenta logar em qualquer ssh remoto sem especificar a opção '-i', elas são oferecidas ao servidor remoto. Se o servidor remoto tiver algum desses armazenados em ~/.ssh/authorized_keys , você poderá efetuar login com essa chave (ou seja, sem senha). Porque a senha e a chave pública são dois métodos diferentes de autorização do usuário remoto.

Quando você está especificando a opção '-i', você está apresentando apenas uma chave pública diferente, armazenada nesse arquivo.

Você também pode executar a opção ssh com '-v' para obter mais detalhes sobre qual método-chave / chave pública foi aceito pelo controle remoto. Como neste exemplo:

debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/nstorm/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Offering ECDSA public key: /home/nstorm/.ssh/id_ecdsa
debug1: Server accepts key: pkalg ecdsa-sha2-nistp256 blen 104
debug1: Authentication succeeded (publickey).
Authenticated to 172.16.2.1 ([172.16.2.1]:22).

Se você não quiser efetuar login no serv2 sem senha quando não definir sua identidade não-padrão com a opção '-i', é necessário remover sua identidade padrão armazenada no serv2 em /root/.ssh/authorized_keys . Deve ser a mesma linha que a sua chave ~/.ssh/id_*.pub local.

    
por 12.07.2017 / 09:20