Como resolver erros de 'Conexão recusada' na conexão SSH?

97

Eu tenho um Ubuntu Server 10.10 de 32 bits em minha casa. Estou fazendo conexões SSH com ele no meu PC via Putty.

O problema é que, às vezes, consigo fazer login sem problemas. No entanto, às vezes, ocorre um erro como este:Network error: Connection refused.

Então, não mudo nada, tente entrar mais algumas vezes, espere um pouco e tente novamente. Às vezes eu consigo logar, outras vezes não. Parece bem aleatório para mim.

O que posso fazer para resolver isso?

Editar:

E, às vezes, Putty dá Network error: Software caused connection aborterro após a exibição do login as:texto.

Aqui está a saída ping -t:

Pinging 192.168.2.254 with 32 bytes of data:
Reply from 192.168.2.254: bytes=32 time=6ms TTL=64
Reply from 192.168.2.254: bytes=32 time=65ms TTL=6
Reply from 192.168.2.254: bytes=32 time=88ms TTL=6
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=3ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64

Desliguei o firewall do roteador, e tudo parece funcionar agora. Exceto por isso, ainda não consigo entrar no meu servidor da Web digitando IP externo do meu PC.

frbry
fonte
da próxima vez, sairá assim; executar um ping nele novamente, ainda funciona? quantas pessoas ssh nesta maquina?
myusuf3
Só eu ssh este servidor.
frbry
Exatamente o mesmo problema aqui, também obtendo uma mistura de conexões bem-sucedidas (que funcionam por horas), 'conexão recusada' e 'software causou interrupção de conexão' após o login ou a senha. Para fornecer alguns detalhes adicionais: no meu caso, é uma máquina virtual de 64 bits (executando o Ubuntu Server 10.10) em um host Microsoft Hyper-V, usando a emulação de "placa de rede antiga".
hheimbuerger
SSH está instalado no seu servidor?
Willian Soares

Respostas:

82

Você deve instalar o openssh-server no Linux antes que isso funcione. Obtenha o endereço IP interno do Ubuntu e use esse IP para configurar a seção de encaminhamento de porta na porta 22 (SSH) do seu roteador. Embora se você não pretende fazer o SSH de fora da sua rede, isso não é necessário.

Aqui está como instalar o openssh-server:

sudo apt-get install openssh-server openssh-client
[ENTER PASSWORD]
MacGyver
fonte
10
Não responde diretamente à pergunta, mas isso é útil, pois o Ubuntu não vem pré-instalado com o servidor SSH.
ostati
Eu comecei recentemente um novo laptop e esqueci completamente que não é instalado por padrão = D
Izkata
40

O conflito de endereço IP acabou sendo a causa raiz quando eu estava vendo essa mensagem de erro SSH.

Depois de ler as respostas acima, suspeitei de um conflito de endereços IP, mas precisava provar que o conflito de endereços era ou não era o problema.

Este excelente artigo mostrou como usar o arp-scan para verificar se duas peças de hardware estavam reivindicando o mesmo endereço IP.

No meu caso, a máquina do servidor tinha um endereço IP estático 192.168.1.42, usei o arp-scan para verificar esse endereço:

$ sudo apt-get install arp-scan
$ arp-scan -I eth0 -l | grep 192.168.1.42
  192.168.1.42 d4:eb:9a:f2:11:a1 (Unknown)
  192.168.1.42 f4:23:a4:38:b5:76 (Unknown) (DUP: 2)

Com certeza, houve um conflito, como mostrado acima. Então executei o arp-scan sem o grep, descobri que .43 estava disponível, editei /etc/network/interfacese alterei o IP estático de .42 para .43

Rian Sanderson
fonte
Na verdade, executar esse comando mostrou apenas uma linha na minha caixa, exceto que o nome era o de outro dispositivo.
Assilias
Muito obrigado pelo ponto na direção certa sobre o conflito de endereços IP. Teve um problema semelhante! 1
DominikAngerer
Apenas me salvou tanto tempo ... parabéns ...
Chris Barlow
Às vezes, meu roteador só precisa ser reiniciado para resolver esse problema.
Gabriel Staples
14

Use arpingno endereço IP que está tendo problemas de conexão. Isso mostrará o endereço MAC para cada resposta de ping e, com sorte, desmascarará o endereço MAC não autorizado.

arping 192.168.2.254

Você deve verificar o pool de endereços IP DHCP no servidor DHCP, verifique se nenhum dispositivo possui IPs estáticos que colidem com o pool DHCP.

Essas dicas apontam para duplicar o IP:

  • O ping ttl e o tempo de ida e volta se parecem com 2 servidores distintos
  • desconexões intermitentes sem reiniciar
John Shalamskas
fonte
Excelente, apontou-me para o caminho correto! Conseguiu rastreá-lo pelo segundo endereço MAC para qual porta estava e alterar o IP da impressora.
Canadian Luke
1
Eu precisava para adicionar wlan0 -I (wlan0 sendo meu dispositivo wi-fi)
Guhur
6

Eu tive o mesmo problema, mesmo tendo um endereço IP estático. Acontece que outro servidor na minha rede recebeu o mesmo endereço IP (estático). (Duh.) Parece que o problema é causado por conflitos de endereço IP, mas pode haver várias maneiras possíveis de acontecer. Se você definir o seu para estático e ainda tiver um problema, tente desligar a máquina e executar ping no endereço. Se você receber alguma resposta, comece a procurar o que mais poderia ter o mesmo endereço.

DLosc
fonte
1
Tive os mesmos sintomas e o localizei em uma máquina com o mesmo endereço IP do servidor.
SabreWolfy
5

abra o arquivo de configuração ssh:

sudo nano /etc/ssh/ssh_config

encontre o porto

#port 22

remova a opção de porta afiada

salve o arquivo ctrl + xe reinicie o serviço

sudo service ssh restart
Amin
fonte
4

O que você ganha se fizer isso?

grep 192.168.2.25 /etc/hosts.deny

Se isso retornar alguma coisa, você precisará removê-lo.

Jodi MIddleton
fonte
10
Esse é um dos infames "usos inúteis de cat" - você pode simplesmentegrep 192.168.2.25 /etc/hosts.deny
Tobias Kienzler
@TobiasKienzler Fixed it
wjandrea
3

Isso parece mais um problema do seu equipamento de rede do que do próprio servidor.

Verifique / var / log / messages para ligar / desligar o link Ethernet (ou wlan no caso de conexão sem fio). Nesse caso, tente mudar os cabos.

forcefsck
fonte
Sim, tentei e consegui fazer uma conexão ssh de fora da minha rede (na qual meu servidor e meu PC estão localizados). Parece estar funcionando bem. Meu servidor também é um servidor web. Quando tento conectar pela porta 80 do meu PC, vejo a página de login do modem ADSL. Mas quando tento a mesma coisa em outro computador que está fora da minha rede, vejo a página It Works do Apache.
12119 frbry
Qual é o seu ip de PC, seu servidor e seu roteador adsl interno?
forcefsck
PC: 192.168.2.2 (Recebido do DHCP) Servidor: 192.168.2.254 (Estático, fora do intervalo DHCP) Roteador ADSL: 192.168.2.1
frbry
Estou um pouco confuso, quando você conecta 192.168.2.2 a 192.168.2.254 porta 80, obtém o login do modem adsl?
forcefsck
1
A menos que você tenha configurado algum tipo de proxy da Web para o servidor, então claramente o seu modem adsl está respondendo às solicitações feitas para 192.168.2.254 e provavelmente esse é o caso quando você recebe o Connection refusederro com o ssh. Então você precisa verificar novamente as configurações do seu modem adsl.
forcefsck
3

Posso confirmar esse problema exato: não é um problema simples de conectividade. O link Ethernet não muda de estado; servidor acessível através de ping; O ssh se conecta perfeitamente de vez em quando e, aparentemente, aleatoriamente não se conecta ou a sessão do ssh existente cai. Isso ocorre no Ubuntu 10.04 e 11.04. Seguindo a sugestão do hheimbuerger, eu dei ao servidor um IP estático, isso pareceu corrigi-lo.

Solução alternativa: altere o adaptador do DHCP para estático.

George
fonte
1

Eu tinha exatamente o mesmo problema e, no meu caso, acabou sendo um conflito de endereço IP. Minha VM do Ubuntu tinha um endereço dinâmico, mas outra máquina (neste caso, um telefone) tinha um IP estático atribuído que o servidor DHCP desconhecia.

A alteração do IP atribuído pelo servidor DHCP à VM do Ubuntu corrigiu todos os problemas de conexão.

hheimbuerger
fonte
1

É basicamente por qualquer um dos seguintes motivos:

  1. Muitos usuários na rede tentando acessar o servidor
  2. Mais de um computador na rede tem o mesmo IP do servidor que está causando um conflito de IP
  3. Nome de usuário errado ou suas credenciais foram revogadas
Mevin Babu
fonte
0

Você pode querer verificar suas iptablesregras no seu servidor. Parece que você tem uma regra para limitar novas conexões SSH.

A próxima regra permite 5 novas conexões por minuto; se você exceder esse limite, suas novas conexões serão rejeitadas após algum tempo:

-A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m limit --limit 5/min -j ACCEPT

Consulte a documentação do IPTables / Netfilter , role um pouco até limit.

Lekensteyn
fonte
0

O arp-scan está mostrando dois dispositivos duplicados, mas quando executo o scanner IP avançado no Win8, todos ficam bem. Então eles nem sempre concordam.

Defino o roteador para revogar todas as concessões dizendo para conceder apenas uma hora. Dar-lhe-á tempo para ver se esclarece.

SDsolar
fonte