GatewayPorts가 활성화 된 경우에도 역방향 SSH 터널 포트에 원격으로 연결할 수없는 이유는 무엇입니까?


20

IP 주소가 동적으로 할당되는 부서의 호스트에 대한 지속적인 SSH 액세스가 필요합니다. 대상 호스트에서 고정 IP 주소를 제공하는 호스트 중 하나로 원격 SSH 터널을 설정했습니다.

ssh -f -N -g -R :22223:localhost:22 tunnelhost

22223터널 호스트의 로컬 포트 에서 SSH를 가리키면 터널이 제대로 작동합니다. 내 문제는 터널을 localhost 이외의 다른 것에 바인드 할 수 없다는 것입니다. 즉 tunnelhost:12323, 원격으로 SSH하려고 할 때 열린 포트가 없습니다. 나는 또한 시도했다 :

ssh -f -N -R :22223:localhost:22 tunnelhost -o GatewayPorts=yes

그러나 여전히 운이 없습니다. Netstat는 다음을 보여줍니다.

[me@tunnel_host ~]$ netstat -an | grep 22223
tcp        0      0 127.0.0.1:22223         0.0.0.0:*               LISTEN
tcp6       0      0 ::1:22223               :::*                    LISTEN

터널이 로컬 호스트에만 바인딩되어 있는지 확인 firewalld-cmd를 사용하여 터널 호스트에 포트 예외를 추가했으며 네트워크 하드웨어가 연결을 방해하지 않도록했습니다. 그것이 무엇인지에 대한 아이디어가 있습니까?

건배, 제임스

답변:


29

원격 포트의 루프백 이외의 인터페이스에 바인딩 할 수 GatewayPorts=yes있으 /etc/ssh/sshd_config려면 클라이언트가 아닌 SSHd ( ) 구성에서 활성화해야합니다 .

-o GatewayPorts=yes

ssh명령에 전달 될 때 로컬 포트에서만 작동합니다 .


다스 안드로이드, 답변 주셔서 감사합니다. (-L) ocal 터널에서만 작동하는 -g 및 -o GatewayPort에 대해서는 올바른 것 같습니다. 완전성을 기하기 위해 다른 사람이 나중에 문제를 겪을 경우를 대비하여이 문제에 대한 정보가 조금 더 있습니다. bugs.debian.org/cgi-bin/bugreport.cgi?bug=228064
James Paul Turner

3
GatewayPorts=clientspecified다소 안전한 설정은 askubuntu.com/questions/50064/reverse-port-tunnelling을 참조하십시오 . 이 경우 빈 바인드 주소 (후행 콜론 :22223:localhost:2)가 필요합니다.
Michael Goerz

1
GatewayPorts=clientspecified설정 자체가 더 안전하지는 않지만 와일드 카드에 바인딩하는 것보다 와일드 카드에 바인딩 할 연결을보다 잘 제어 할 수 있다고 주장합니다 .
Nick

또한 sshd_config를 모딩 한 후 sshd를 다시 시작하십시오 (잊어 버린 경우)
Nick

⚠️ GatewayPorts=yes전달 된 포트를 세계에 개방 할 것입니다.
ccpizza
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.