서버 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
즉, 규칙에 맞는 사용자를 지정해야 합니다.