Problema do OpenSSH. funciona ok pela primeira vez após a instalação. Então fica louco

0

Estou tentando configurar um novo servidor, apenas um básico com o openssh. Primeiro eu tentei uma instalação regular com o servidor Ubuntu e instalei o openssh junto com o servidor de instalação. A primeira vez que tentei me conectar com o arquivo de configuração padrão e obtive

ECDSA key fingerprint is SHA256:uWdXv1DYZ+MmnFOtYadTAPEZj93uculj8a4OZ5lnEOk.
Are you sure you want to continue connecting (yes/no)? yes

Então a conexão foi normal. Então tentei me conectar novamente 1 hora depois e consegui

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:B12I+ERcLf+RMREsqxTpy8J5KyoqvsXLbijtz5TUMDw.
Please contact your system administrator.Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/user/.ssh/known_hosts:5

Eu fiz o ssh-keygen -f "/home/user/.ssh/known_hosts" Então tentei novamente

The authenticity of host 'ip-adress' can't be established.
ECDSA key fingerprint is SHA256:B12I+ERcLf+RMREsqxTpy8J5KyoqvsXLbijtz5TUMDw.
Are you sure you want to continue connecting (yes/no)? yes

Em seguida, vai para

debug1: Offering RSA public key: /home/user/.ssh/id_rsa
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/user/.ssh/id_dsa
debug3: no such identity: /home/user/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /home/user/.ssh/id_ecdsa
debug3: no such identity: /home/user/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /home/user/.ssh/id_ed25519
debug3: no such identity: /home/user/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
user@server's password: 
debug3: send packet: type 50
debug2: we sent a password packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.

Em seguida, negou a permissão novamente por mais duas vezes.

Eu li as man-pages em openssh e googled e tentei as coisas normais como editou o sshd_config para permitir somente a senha, host-auth, editei a identidade das chaves, etc. e nada funciona. Então eu tentei reinstalar o openssh, mesmo problema. Tentei configurar um novo servidor com desktop-ubuntu, mesmo problema. Trabalha a primeira conexão e depois fica louco. Tentei debian, mesmo. Tentei versão mais antiga do Ubuntu, mesmo problema. Eu realmente tenho 1 servidor de instalação para funcionar para algumas tentativas, mas depois de 15sec eu tenho cano quebrado o tempo todo. Mas eu não recebi a permissão negada.

Eu estava pensando, o que acontece com o openssh entre a primeira conexão e o resto? Como posso consertar isso? Parece que o servidor está me desligando, nem sequer tenta me conectar.

    
por Espen 05.04.2017 / 13:05

1 resposta

0

Quando você se conecta ao seu servidor pela primeira vez, o ssh pede para você verificar a impressão digital do servidor com esta pergunta:

Are you sure you want to continue connecting (yes/no)? yes

E quando você responder com yes, ele criará um arquivo no diretório ~ / .ssh chamado: known_hosts e colocará suas identidades de servidor lá para os próximos tempos.

Sempre que algo mudar em seu servidor que impacta sua identidade (por exemplo: exibir endereço IP), você receberá essa mensagem, porque o cliente ssh pensa que você não está se conectando ao servidor correto. (com base nos dados que vivem em known_hosts ).

Você pode remover os dados de identidade antigos de known_hosts com este comando:

ssh-keygen -R [IP ADDRESS - OR HOST NAME OF SERVER]

Em seguida, tente se conectar novamente.

Como verificar a identidade do servidor:
Se você tiver acesso direto ao servidor, por exemplo, se for uma VM, poderá executar:

ssh-keyscan -t ecdsa localhost > ssh.ecdsa 2> /dev/null
ssh-keygen -lf ssh.ecdsa

Isso lhe dará algo como:

256 SHA256:0MY+7jktivMDvak0Clfkk49fkgjDbhWYrQBT//BsF5YDoV4 192.168.1.14 (ECDSA)

Agora, ao usar o ssh, você pode verificar se está se conectando ao servidor correto ou não.

    
por Ravexina 05.04.2017 / 13:35