ssh pendurado então o tempo limite


8

Eu sou novo no ssh no linux. Eu tenho dois computadores conectados em um switch. O primeiro é 192.168.1.2 e o segundo é 192.168.1.3. Quando uso o pingcomando, recebi uma resposta e tudo está bem, mas quando uso o ssh no primeiro computador, ssh -v user@192.168.1.3ele me fornece,

OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.1.2 [192.168.1.2] port 22.
debug1: connect to address 192.168.1.2 port 22: Connection timed out

Eu tenho o ssh instalado nas duas máquinas. Alguma idéia de como posso resolver esse problema?

Respostas:


1

Verifique estas coisas:

  • Porta 22 aberta e pode receber conexões
  • Verifique se o OpenSSH ou outro processo SSH está em execução no servidor
  • Verifique se o arquivo de configuração SSH recebe os valores apropriados

10
mmm. man sshd_config |grep -i appropriateaparece vazio em todas as minhas caixas de linux e Solaris também
veja se

@sehe O arquivo não está localizado em / etc / ssh /?

3
Isso me fez <headdesk /> mesmo enquanto estava na cama. O sarcasmo falha. O que (ironicamente) sugeriu, é a documentação não contém informações sobre o apropriado configurações (sic)
sehe

obrigado por todos, na verdade a porta 22 estava perto, então eu inseri este comando [code] iptables -A INPUT -p tcp -d 0/0 -s 0/0 --dport 22 -j ACEITAR [/ code]
sam

Obrigado @norway, estou enfrentando o mesmo problema. Como posso verificar essas coisas? Estou usando uma hospedagem compartilhada. Obrigado.
abu abu

3

Dicas de soluções de problemas:

  • Você pode ssh localhostno servidor?
  • Os usuários são permitidos? ( AllowUsersconfiguração)
  • Você liga à NIC externa? (procure ListenAddress 0.0.0.0ou ListenAddress ::)
  • Você está executando na porta 22? ( Port)

    • Basicamente, verifique /etc/ssh/sshd_config.
  • Adicionado : você pode usar netstat -tlpn | grep 22para descobrir quais programas (se houver) estão ouvindo na porta 22 ( execute como root para ver os nomes dos processos ).

Além disso, considere usar uma conexão de porta explícita em vez de ping (por exemplo, nmap -PN remote -p22ou mesmo apenas telnet remote 22)


1

Eu sei, a pergunta é sobre a rede privada, mas tive uma saída semelhante quando estava tentando acessar um dispositivo pela Internet. Depois de pesquisar no Google, encontrei esta pergunta; portanto, mesmo que possa não responder à pergunta, outras pessoas podem achar minha resposta útil. No meu caso, verificou-se que meu ISP está bloqueando a porta 22 / TCP.

Se você está tentando acessar um dispositivo pela Internet, existem basicamente cinco possibilidades:

  1. A conexão de rede pode não estar acontecendo entre as máquinas. Tente efetuar ping no endereço IP da máquina servidor. Se você não conseguir receber nenhum pacote, tente verificar a conexão de rede nas duas máquinas.
  2. O servidor SSH pode estar configurado incorretamente. Experimente o SSHing no dispositivo localmente (do mesmo dispositivo e usuário para o mesmo dispositivo e usuário) via:

    ssh localhost
    
  3. Se a máquina do servidor estiver conectada à Internet por meio de um roteador, o encaminhamento de porta poderá não estar configurado adequadamente. Portanto, verifique a configuração de encaminhamento de porta no seu roteador.

  4. O firewall local na máquina do servidor pode estar filtrando a conexão de entrada. Tente permitir conexões de entrada na porta 22 / TCP nas regras do seu firewall ou desativar completamente o firewall temporariamente.
  5. Um ou ambos os ISPs podem estar filtrando a conexão. Tente alterar a porta no servidor para algo como 2222, reiniciando o servidor SSH e SSHing usando a nova porta. Você pode especificar a porta na máquina cliente via -popção no comando como este:

    ssh USER@HOST -p PORT
    

0

Primeiro, verifique se o SSH está sendo executado no lado de recebimento. Efetue login na máquina remota e tente ssh no host local (ssh na mesma máquina em que você está).

ssh -v myUserName@localhost

Isso deve solicitar sua senha e, em seguida, você deve entrar na mesma máquina. Se isso não funcionar, significa que este host não tem o SSH ativado. A ativação do "login remoto" neste servidor deve corrigir o problema.

Se, no entanto, você conseguiu fazer o ssh do servidor de destino com êxito, o problema provavelmente está em algum lugar no meio. Sua próxima coisa a verificar são os firewalls no host de origem para garantir que eles não estejam bloqueando o ssh.


1
Eu chamo de renúncia à mão: Enabling "remote login"na verdade não significa nada. A correção do problema também deve habilitar o "logon remoto", FWIW
sehe

0

Se o openssh-server já estiver instalado, o firewall poderá estar bloqueando ... supondo que o ufw esteja ativado.

Se você estiver indo da máquina 192.168.1.2 para a máquina de destino 192.168.1.3. Na máquina de destino, faça ... Sudo ufw allow from 192.168.1.2. E vice-versa seria útil


0

[Esta é minha primeira resposta, peço críticas construtivas, se necessário. Obrigado. :)]

Pode ser que você seja banido da máquina de destino, por exemplo, porque você forneceu a senha errada várias vezes.

Edite /etc/fail2ban/jail.localna máquina de destino ( 192.168.1.3no seu caso). Isso pode ser feito se você puder sshacessar esta máquina a partir de outra onde não seja banida.

Complete a linha ignoreipabaixo [DEFAULT]com o endereço IP da sua máquina de origem:

[DEFAULT]

ignoreip = 192.168.1.2

-1

Verifique as seguintes coisas:

1) Execute o nmap localhost e verifique o status da porta 22

2) No seu segundo computador com o qual você deseja se conectar através do ssh, execute ssh localhost

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.