SSH 역방향 터널 및 원격 IP

SSH 역방향 터널 및 원격 IP

서버 192.168.0에서.1, 서버 192.168.0에 액세스하고 싶습니다.2포트 80에서.

192.168.0.2192.168.0에 도달할 수 있습니다.1, 하지만 192.168.0.1192.168.0에 연결할 수 없습니다.2(방화벽).

192.168.0에 다음 명령을 입력하여 역방향 프록시를 설정했습니다.2:

ssh -f -N -T -R0.0.0.0:80:localhost:80 192.168.0.1

현재는 192.168.0입니다.1192.168.0에 도달할 수 있습니다.2, 다음 명령을 사용하십시오.

wget localhost:80

하지만 192.168.0에 도달하기를 바랍니다.2녹음으로

wget 192.168.0.2:80

DNS를 방해하지 않고 이것이 가능합니까?

답변1

정의해야 합니다 GatewayPorts. sshd_config그렇지 않으면 *루프백 0.0.0.0인터페이스에만 바인딩됩니다.

또한 참고하시기 바랍니다

권한이 있는 포트는 원격 컴퓨터에 루트로 로그인한 경우에만 전달될 수 있습니다.

매뉴얼 페이지에서 ssh:

기본적으로 서버의 TCP 수신 소켓은 루프백 인터페이스에만 바인딩됩니다. 이는 bind_address원격 소켓이 모든 인터페이스에서 수신 대기해야 함을 나타내기 위해 빈 바인드 주소 또는 주소 "*"를 지정하여 수행할 수 있습니다 . bind_address원격 지정은 서버의 GatewayPorts 옵션이 활성화된 경우에만 성공합니다(sshd_config(5) 참조).

답변2

Ubuntu 14.04에서 이 문제가 발생했습니다( 및 를 모두 시도했습니다 GatewayPorts clientspecified).GatewayPorts yes/etc/ssh/sshd_config

대신 내 sshd_config작업에 다음을 추가하세요.

Match User !root
    GatewayPorts yes

즉, 규칙에 맞는 사용자를 지정해야 합니다.

관련 정보