Estou no OS X tentando ssh em um servidor ubuntu 12.04. Consegui fazer o SSH - até que de repente as coisas pararam de funcionar. Eu li online para usar o -v
para depurar isso. A saída é mostrada abaixo. Se eu colocar o ssh em uma caixa diferente e, em seguida, o ssh dessa caixa para o servidor, eu consigo entrar. Não tenho idéia de como depurar esse problema, mas gostaria de aprender.
$ ssh -v me@server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug1: Connecting to server [IP] port 22.
debug1: Connection established.
debug1: identity file /Users/me/.ssh/id_rsa type 1
debug1: identity file /Users/me/.ssh/id_rsa-cert type -1
debug1: identity file /Users/me/.ssh/id_dsa type -1
debug1: identity file /Users/me/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: read: Connection reset by peer
Até agora (seguindo os conselhos dos fóruns), procurei um arquivo de negação de hosts - mas esse arquivo não existe na minha máquina.
$ cat /etc/hosts.deny
cat: /etc/hosts.deny: No such file or directory
Eu tenho acesso de administrador na máquina cliente, mas não no servidor.
sshd
escuta em uma porta alternativa, com saída detalhada e fornecer a saída ao tentar conectar-se a ela.$(which sshd) -d -p 23
. Se você não tem a capacidade de fazer isso, suas opções são bastante limitadas. A melhor aposta é conseguir alguém que tenha direitos de administrador no servidor.Respostas:
A mudança abrupta pode ser o resultado de uma alteração no arquivo de configuração na configuração dos servidores
sshd
, mas você indica que não pode verificar ou alterar isso sem o direito de administrador. Você ainda pode tentar o seguinte se os administradores do servidor não puderem ser alcançados (a tempo).Seu log indica apenas a cadeia de caracteres da versão local; você deve verificar as versões de
sshd
execução no servidor e na máquina intermediária.Se essas versões diferirem (especialmente entre a máquina local e o servidor e menos entre a máquina intermediária e o servidor), pode haver alguma incompatibilidade de negociação, isso já aconteceu antes em
ssh
. A solução costumava ser diminuir as entradas Ciphers, HostKeyAlgorithms e / ou MACs, na linha de comando (ssh -c aes256-ctr
, etc.) ou na sua/etc/ssh/ssh_config
.Você deve procurar nas informações de depuração (da conexão através do intermediário ao servidor) os valores apropriados como argumento para os comandos
-c
/Ciphers
,-o HostKeyAlgorithms
/HostKeyAlgorithms
e-m
/ /MACs
resp. ssh_config muda.Não tenho esse problema há algum tempo, mas o IIRC, quando o fiz, foi o suficiente para forçar manualmente as configurações de Ciphers e HostKeyAlgorithms, após o qual eu poderia atualizar a
sshd
versão do servidor e o problema desapareceu.fonte
sshd
pacote do servidor foi atualizado para uma versão mais recente e resultou na incompatibilidade com a minhassh
configuração atual do cliente, como você disse. Limpar meusssh
arquivos de configuração antigos fez o truque. Essa deve ser a resposta aceita.Você pode ter sido banido por
fail2ban
oudenyhosts
. Nesse caso (e também para verificá-lo), se você não quiser se preocupar com a assistência do provedor do servidor, precisará fazer login no servidor a partir de outro endereço IP: por exemplo, outro servidor ou a conexão doméstica de um amigo ou um ponto de acesso wifi ou usando SSH com TOR.Uma vez logado, verifique se o seu endereço IP realmente aparece
/etc/hosts.deny
(no lado do servidor). Se sim, entãofail2ban
oudenyhosts
deve ser o culpado de fato.Consulte as respostas a esta pergunta para obter o procedimento para impedir o
denyhosts
bloqueio contínuo do seu endereço. Parafail2ban
encontrar o seu ip comiptables -L --line-number
e sem o ip comiptables -D <chain> <chain number>
, verifique os detalhes em howtoforge .Você pode adicionar seu endereço IP
fail2ban
edenyhosts
listas de permissões (respectivamente/etc/fail2ban/jail.conf
, linhaignoreip
e/var/lib/denyhosts/allowed-hosts
, se necessário, criá-lo (mas lembre-se de que o caminho pode ser diferente na sua distribuição)) para evitar que o problema ocorra novamente.fonte
No servidor host, remova o ssh pub.key localizado aqui:
~/.ssh/authorized_keys
para o seu mac. Então,tail -f /var/log/auth.log
enquanto você abre outro terminal e tenta ssh novamentessh -v me@server
. Se você for solicitado uma senha, houve um problema com sua chave ssh. Se você ainda estiver vendo a resposta 'ssh_exchange_identification: read: Connection reset by peer', poderá identificar qual é o problema da entrada de log no arquivo '/var/log/auth.log' após uma falha na tentativa Entrar.Se você ainda não conseguiu se conectar, poste a entrada registrada no arquivo de autenticação aqui e revisarei minha resposta.
fonte
Isso pode acontecer se você tiver várias máquinas na rede com o mesmo endereço MAC (por exemplo, se você fizer uma cópia de uma máquina virtual e esquecer de alterar o MAC).
fonte
Eu estava conseguindo isso devido aos servidores de nomes do meu ISP
/etc/resolv.conf
. Esses servidores de nomes geralmente estão sobrecarregados e, se a pesquisa reversa do DNS falharsshd
, a conexão será interrompida. Resolvi o problema usando servidores de nomes mais confiáveis, por exemplo8.8.8.8
.fonte
Eu fui confrontado com o mesmo problema. Eu abriria a sessão ssh com êxito, mas ela seria redefinida após algum tempo. Quando tentei conectar o ganho imediatamente, recebia o erro "Conexão recusada". quando depurei a sessão, recebi esta mensagem no momento em que a conexão estava sendo redefinida
Nesse ponto, percebi que havia um conflito de endereço IP na rede. Mudei para outro endereço e o problema foi resolvido
fonte
Seu log significa que o lado do servidor descarta a conexão. Para descobrir o motivo, você deve consultar os logs do lado do servidor, eles devem mostrar o motivo da desconexão. Você quase sempre deve poder encontrar registros em / var / log / messages
Eu poderia imaginar que, como a conexão caiu logo após o cliente enviar o número da versão, o servidor de alguma forma ameaça o cliente como incompatível.
fonte
Eu tinha o mesmo problema, mas a causa era diferente: eu estava usando a porta errada.
Nas versões mais recentes do
ssh
erro fornecido éConnection refused
ouBad port
.Nas versões anteriores, o erro fornecido é
ssh_exchange_identification: read: Connection reset by peer
Portanto, quando você receber esse erro, verifique se a porta está correta.
fonte
Sei que essa pergunta é antiga, mas queria compartilhar algumas descobertas que tive. Verifique se
/var/empty/sshd
no servidor possui propriedade e permissões apropriadas.Tivemos um script de chef que foi modificado para atualizar algumas permissões de diretório, mas, inadvertidamente, atualizamos o diretório abaixo do destino pretendido, alterando a propriedade de / var para um usuário / grupo de aplicativo e alterando as permissões para 775.
fonte
Como não foi mencionado explicitamente em uma resposta, outra maneira de esse erro aparecer é se um firewall baseado em rede entre você e o servidor decidir bloquear a conexão. O firewall poderia ter decidido que havia "muitas" conexões do IP do sistema OS X e começou a bloqueá-lo. Ainda não havia conexões "demais" do outro sistema e, portanto, era permitido.
A última mensagem que você recebeu do servidor é aquela que ocorre antes mesmo de iniciar qualquer tentativa de autenticação, o que exclui uma grande classe de possibilidades em torno de sua conta, chave ou senha.
Exemplos dessas políticas de força bruta de uma amostra aleatória de fornecedores são:
fonte