포트 4430에서 localhost에 연결할 수 없습니다.

포트 4430에서 localhost에 연결할 수 없습니다.

vagrant실행하고 설치 중 입니다 virtual box. vagrant box에서 원격 서버로의 역방향 터널을 생성했지만 포트 4430에서 localhost에 연결하려고 하면 명령을 실행할 때 다음 오류가 계속 발생합니다.CentOSNginx

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

브라우저에서 사이트를 로드하려고 했지만 Chrome에서도 오류가 발생합니다.

This webpage is not available

ERR_CONNECTION_REFUSED

내가 원하는 것은 역방향 터널을 생성하는 것인데, 원격 시스템에 연결하여 터널을 생성할 수 있으므로 제대로 작동하는 것 같지만 로컬 시스템에서 필수(역방향 포트)를 사용하여 탐색할 수 없습니다.

이것은 내 터널 스크립트입니다.

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

문제가 무엇인지 아는 사람이 있습니까?

포트 443을 사용하여 연결할 수 있지만 4430은 연결할 수 없습니다!

어떤 도움이라도 대단히 감사하겠습니다!

고쳐 쓰다

다음 명령을 실행하면 다음 출력이 생성됩니다.

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.

LOCALHOST:4430방황하는 상자의 호스트 이름이어야 할 것 같은데요 ? 예를 들어local-domain:4430

답변1

-g그렇지 않으면 원격 포트가 수신 대기만 하기 때문에 해당 옵션이 누락된 것 같습니다. localhost이는 원격 포트 이외의 다른 호스트가 localhost해당 포트에 연결할 수 없음을 의미합니다.

-g청취 할 수 있습니다 0.0.0.0. 이는 . 뿐만 아니라 모든 인터페이스에서 사용할 수 있음을 의미합니다 localhost.

"원격 호스트가 로컬 전달 포트에 연결하도록 허용합니다. 다중 연결에서 사용되는 경우 이 옵션을 기본 프로세스에서 지정해야 합니다." ssh(1)옵션 과 같습니다 .g

방랑자 상자에 이 터널을 만들었다고도 말씀하셨는데요. 그럼 curl귀하의 디스플레이도 Wanderer 상자에 들어 있는 거죠? 그렇지 않으면 curlvagrant box 내부가 아닌 호스트 시스템에서 실행 하면 작동하지 않습니다 . vagrant box 내부가 아닌 호스트 시스템에서 터널에 연결하려면 127.0.0.1.

답변2

내가 확실히 이해했는지 확인하기 위해서요. 해당 명령줄을 사용하여 클라이언트 시스템에서 서버로 SSH를 연결하고 있습니까? 그런 다음 서버에서 포트 4430으로 컬 명령을 실행하시겠습니까?

그러면 효과가 있을 것입니다. 그렇지 않은 경우 서버에 로그인하여 포트 4430이 수신 대기 중인지 확인하십시오.

netatat -tnl | grep 4430

sshd가 포트 전달을 허용하지 않도록 구성되었을 수 있습니다.

서버의 포트 443에 연결하기 위해 클라이언트에서 컬을 실행하여 localhost:4430에 연결하려면 -R 대신 -L을 사용해야 합니다.

관련 정보