ssh -g 및 0.0.0.0이 중복됩니까?

ssh -g 및 0.0.0.0이 중복됩니까?

다음 두 명령 사이에 차이점이 있습니까?

ssh -g -L 8080:localhost:80 [email protected]
ssh -L 8080:0.0.0.0:80 [email protected]

답변1

이는 서로 관련이 없는 두 값입니다.

openssh옵션-gssh_config클라이언트 옵션을 지정하는 것과 동일-o GatewayPorts=yes. 앞에 배치할 수 있는 작성되지 않은 선택적 섹션에 영향을 줍니다.-L옵션:

-L [bind_address:]port:host:hostport

-g( GatewayPorts기본값 )이나 로컬 바인딩이 모두 지정되지 않은 경우 nossh는 기본적으로 다음 바인딩으로 설정됩니다.로컬 호스트(이것은 다시 IPv4 127.0.0.1+ IPv6을 의미합니다 ::1). 사용 -g(또는 -o GatewayPorts=yes)을 사용하면 기본값은 INADDR_ANY( 0.0.0.0) + in6addr_any( ::)입니다. 존재하는 기본값이나 옵션에 관계없이 옵션에 바인딩할 IP 주소를 추가하여 클라이언트의 로컬 주소를 재정의할 수 있습니다 -L.

그래서:

ssh -g -L 8080:localhost:80 [email protected]

다음과 동일:

ssh -L 0.0.0.0:8080:localhost:80 [email protected]

또는 IPv6 지원 시스템에서(두 프로토콜이 모두 필요한 경우):

ssh -L 0.0.0.0:8080:localhost:80 -L '[::]:8080:localhost:80' [email protected]

이제 -gOP와 관련이 없는 두 번째 명령은 다음과 같습니다.

ssh -L 8080:0.0.0.0:80 [email protected]

일반적으로 명백한 오류: 원격 측에 알려줍니다.연결하다아니요제본INADDR_ANY로.

하나를 위해목적지즉, 대상을 선택하지 말고 시스템이 소켓 연결 시기를 결정하도록 하십시오. 이 경우 원격 시스템은( sshd원격 서버의 요청에 따라) 자체 주소 중 하나를 선택하고 127.0.0.1 또는 $HOST를 선택할 수 있습니다. 아니면 우리가 알 수 없습니다(원격 시스템 테스트에서는 127.0.0.1).

connect(4, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("0.0.0.0")}, 16)

127.0.0.1에서 127.0.0.1까지의 실제 연결(내 테스트)

관련 정보