Não é possível conectar-se ao host local na porta 4430

2

Estou executando vagrant de virtual box com CentOS e Nginx instalado. Eu criei um túnel reverso da caixa vagrant para um servidor remoto, mas quando estou tentando se conectar ao meu localhost na porta 4430 continuo recebendo o erro abaixo quando eu executar o comando:

curl -v 'https://localhost:4430'

* About to connect() to localhost port 4430 (#0)
*   Trying ::1... Connection refused
*   Trying 127.0.0.1... Connection refused
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host

Eu tenho tentado carregar o site no navegador, mas o Chrome também gera um erro.

This webpage is not available

ERR_CONNECTION_REFUSED

O que estou tentando fazer é criar um túnel reverso que parece funcionar bem, pois eu posso conectar a uma máquina remota e criar o túnel, mas não posso navegar usando a porta (reversa) desejada na minha máquina local.

Este é o meu script de túnel:

ssh -v -R 4430:localhost:443 [email protected] -N

Alguém sabe qual poderia ser o problema?

Eu posso conectar usando a porta 443 mas não a 4430!

Qualquer ajuda seria apreciada!

UPDATE

A execução do seguinte comando fornece a seguinte saída

ssh -v -R 4430:localhost-domain:443 [email protected] -N

debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to vm.domain.com [54.149.189.155] port 22.
debug1: Connection established.
debug1: identity file /home/vagrant/.ssh/identity type -1
debug1: identity file /home/vagrant/.ssh/identity-cert type -1
debug1: identity file /home/vagrant/.ssh/id_rsa type 1
debug1: identity file /home/vagrant/.ssh/id_rsa-cert type -1
debug1: identity file /home/vagrant/.ssh/id_dsa type -1
debug1: identity file /home/vagrant/.ssh/id_dsa-cert type -1
debug1: identity file /home/vagrant/.ssh/id_ecdsa type -1
debug1: identity file /home/vagrant/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
debug1: match: OpenSSH_6.6.1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<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: Host 'vm.domain.com' is known and matches the RSA host key.
debug1: Found key in /home/vagrant/.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: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/vagrant/.ssh/identity
debug1: Offering public key: /home/vagrant/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
debug1: Local connections to LOCALHOST:4430 forwarded to remote address localhost-domain:443
debug1: Local forwarding listening on ::1 port 4430.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 4430.
debug1: channel 1: new [port listener]
debug1: Requesting [email protected]
debug1: Entering interactive session.

Eu estou pensando que LOCALHOST:4430 deveria ser o nome do host da caixa do vagrant? Por exemplo, local-domain:4430

    
por user1704524 23.01.2016 / 21:08

2 respostas

3

Eu acho que você está perdendo a opção -g , porque senão a porta remota só estará ouvindo em localhost , significando que qualquer outro host que não seja o remoto localhost não será capaz de se conectar a ele.

Com -g , ouve 0.0.0.0 , o que significa que está disponível em todas as interfaces e não apenas localhost .

Como ssh(1) diz a opção g "Permite que hosts remotos se conectem a portas encaminhadas locais. Se usado em uma conexão multiplexada, essa opção deve ser especificada no processo mestre."

Você também mencionou que criou este túnel em uma caixa vagabunda. Então esse curl que sua exibição também está dentro da caixa vagante, certo? Caso contrário, se você executar o curl no sistema host e não dentro da caixa vagrant que não funcionaria. Se você quiser se conectar ao túnel do sistema host (não dentro da caixa do vagrant) você teria que se conectar ao IP da caixa do vagrant ao invés de 127.0.0.1 .

    
por 24.01.2016 / 15:59
2

Só para ter certeza de que entendi. Você ssh com essa linha de comando de uma máquina cliente para um servidor? Então, no servidor, você executa o comando curl para a porta 4430?

Isso deve funcionar. Se não, faça o login no servidor e verifique se a porta 4430 está escutando via

netatat -tnl | grep 4430

Possivelmente o sshd está configurado para não permitir o encaminhamento de porta.

Se você deseja executar o curl no cliente para conectar-se ao host local: 4430 para conectar-se à porta 443 do servidor, então você deve usar -L em vez de -R.

    
por 24.01.2016 / 05:25