Por que / como o SSH falha na autenticação se a máquina * client * tem um pubkey falso?

0

Em clienthost , tenho um par de chaves pub: priv armazenado como ~/.ssh/foo e ~/.ssh/foo.pub , respectivamente. Em remotehost eu tenho o pubkey corretamente existente em ~/.ssh/authorized_keys de tal forma que eu possa logar usando -i ~/.ssh/foo .

O login é (obviamente) não depende da existência de clienthost:~/.ssh/foo.pub : se eu renomear ~/.ssh/foo.pub para ~/.ssh/bar.pub nada muda.

Mas se eu alterar um caractere em clienthost:~/.ssh/foo.pub para que ele ainda pareça um pubkey válido, mas não corresponda mais à chave privada, não consigo fazer login. Por que não?

Por que / como o SSH se importa se o complemento pubkey da chave privada está intacto - e por que ${privkey}.pub é o caminho da pesquisa?

    
por Christopher DeMarco 07.11.2016 / 23:09

1 resposta

0

Esse comportamento pode ser confuso, mas faz todo o sentido. Vamos considerar o caso de uso mais comum, quando a chave privada é criptografada e não armazenada no ssh-agent .

Neste caso de uso, o cliente lê as duas chaves (públicas e privadas armazenadas em arquivos separados), mas não precisa pedir a senha e não descriptografa a parte privada, a menos que saiba que a chave é aceita pela parte privada. servidor.

Se você modificar a chave pública para outra coisa que não seja aceita pelo servidor, a segunda etapa da autenticação não será executada. Ao fazer isso, você quebra o "par" necessário para que funcione corretamente.

    
por 08.11.2016 / 11:02

Tags