Não é possível estabelecer conexão SSH com meu servidor, mas somente a partir do IP público (porta 22: conexão recusada)

0

Aqui está o meu problema:

Eu quero entrar no meu servidor Ubuntu a partir de um macbookpro (10.10.4) via ssh, mas ele não está funcionando a partir de qualquer endereço IP público

Quando estou no mesmo wifi do que o meu servidor e tento conectar-me ao IP privado / local, ele está funcionando bem. Ele pede minha senha e eu consigo logar:

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: Connecting to XXX.XXX.X.XX [XXX.XXX.X.XX] port 22.
debug1: Connection established.
debug1: identity file /Users/XXXXX/.ssh/id_rsa type -1
debug1: identity file /Users/XXXXX/.ssh/id_rsa-cert type -1
debug1: identity file /Users/XXXXX/.ssh/id_dsa type -1
debug1: identity file /Users/XXXXX/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.4
debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.4 pat OpenSSH*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<2048<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA XX:XX:XX:XXX:XX:XX
debug1: Host 'XXX.XXX.X.XX' is known and matches the RSA host key.
debug1: Found key in /Users/XXXXX/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/XXXXX/.ssh/id_rsa
debug1: Trying private key: /Users/XXXXX/.ssh/id_dsa
debug1: Next authentication method: password
[email protected]'s password: 

Mas quando estou tentando me conectar do IP público, recebo esta mensagem:

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: Connecting to XX.XX.XXX.XX [XX.XX.XXX.XX] port 22.
debug1: connect to address XX.XX.XX.XX port 22: Connection refused
ssh: connect to host XX.XX.XX.XX port 22: Connection refused

Aqui está o que eu fiz até agora:

  1. Verificou qual porta está escutando ssh - > porta 22

    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      5886/sshd  
    
  2. Verificado se o firewall estava ativo na porta 22 - > não é

    sudo ufw verbose
    Status: inactive
    
  3. Tentou desinstalar / reinstalar o openssh-server com apt-get - > não mudou nada

  4. Gritou e socou a parede - > não mudou nada

O que posso fazer para corrigir este problema?

Existe algum problema específico ao se conectar de um mac?

Sou muito novo no Linux, então seja gentil, por favor:)

    
por wikninja 04.02.2018 / 22:30

1 resposta

3

Primeiramente: Bem-vindo!

O que parece dos logs e a mensagem de erro é que o encaminhamento de porta não está habilitado em seu roteador para permitir a conexão com a máquina via SSH.

Isso pode ser feito procurando seu modelo de roteador e descobrindo como encaminhar a porta 22 para o endereço IP do seu servidor. Você pode determinar o endereço IP do seu servidor usando ifconfig . Enquanto estiver nas configurações do seu roteador, você também pode configurar um endereço IP estático para o servidor para que ele não se mova.

O outro problema de endereço IP é que, se o seu ISP não usar IP dinâmico, seu endereço IP poderá mudar "aleatoriamente e sem aviso prévio". Isso depende do seu ISP, meu ISP "usa" IP dinâmico, mas não mudou nos 8 meses que eu morei aqui.

Você pode configurar um script para que o servidor envie um e-mail para seu endereço IP externo diariamente, se precisar de acesso.

Se você continuar tendo um erro de conexão recusada, seu ISP também pode ter bloqueado a porta 22 entre uma lista de outras portas para "segurança".

Há uma ressalva gigante para isso e por gigante quero dizer uma ressalva GIANT . Esse processo deixará seu servidor vulnerável a ataques de qualquer tipo que abram essa porta. Você vai querer endurecer seu servidor contra esses ataques com o melhor de suas habilidades. Isso pode ser feito de várias maneiras e é recomendável seguir todas elas.

Como proteger um Ubuntu 16.04 LTS server é um bom guia para proteger seu servidor.

Por favor, certifique-se de implementar o maior número possível deles. Eu recomendo usar o acesso à chave, bloquear usuários específicos e desabilitar o acesso root entre outras coisas. Se você não precisa ABSOLUTAMENTE de acesso de um IP externo, então eu não me incomodaria.

    
por Robby1212 04.02.2018 / 22:47