SSH - 다른 호스트에서 로컬 전달에 액세스할 수 없습니다.

SSH - 다른 호스트에서 로컬 전달에 액세스할 수 없습니다.

2개의 공용 IP(192.168.0.1 및 192.168.0.2)가 있는 VPS가 있습니다.

두 번째 IP에 바인딩된 VPS의 라우터에 대한 로컬 터널을 설정한 다음 다른 컴퓨터를 통해 액세스하려고 합니다. 나는 다음을 수행합니다 -

# ssh -g -L 192.168.0.2:22:remote_machine:22 remote_machine

그러다가 커피숍에서 노트북으로 192.168.0.2에 접속하려 했으나 시간이 초과되었습니다. 무슨 일이 일어날 수 있나요? 이것이 내가 해결한 문제입니다 -->

  • 내 VPS의 SSH 서버는 192.168.0.1에서만 수신 대기합니다. a를 실행하면 올바른 결과가 netstat - plant |grep LISTEN표시됩니다 tcp 0 0 192.168.0.1:22 0.0.0.0:* LISTEN 603/sshd. 603은 실제로 SSHD의 프로세스 ID입니다.

  • 위의 포트 포워딩을 수행 netstat -plant | grep LISTEN하면

    tcp 0 0 192.168.0.2:22 0.0.0.0:* LISTEN 1416/ssh 
    tcp 0 0 192.168.0.1:22 0.0.0.0:* LISTEN 603/sshd
    

그리고 1416은 제가 호출한 프로세스 ID입니다 ssh.

  • selinux가 비활성화되었습니다

  • iptables -L아무것도 나열되어 있지 않습니다. 어떤 종류의 방화벽도 없습니다.

  • ssh 192.168.0.2VPS에서 이 작업을 수행할 수 있었고 성공적으로 가져왔습니다 remote_machine. 그러나 VPS 외부(내 커피숍)에서는 동일한 동작을 얻을 수 없습니다.

  • /etc/ssh/ssh_config, /etc/ssh/sshd_config,모든 항목 $HOME/.ssh/config에 행이 포함되어 있으므로 이 옵션 GatewayPorts yes도 사용합니다 . -g실제로 모든 조합을 시도했지만 여전히 원격 시스템에서 로컬 전달 포트에 액세스할 수 없습니다.

  • ssh나랑 같이 달릴 때 -vvv봤어 ->

    debug1: Local connections to 192.168.0.2:22 forwarded to remote address remote_machine:22
    debug3: channel_setup_fwd_listener: type 2 wildcard 0 addr 192.168.0.2
    debug1: Local forwarding listening on 192.168.0.2 port 22.
    

그러나 포트에 연결하려고 하면 아무 조치도 통보되지 않습니다.

  • 나는 권한 있는 포트를 가진 루트와 높은 번호의 포트를 가진 루트가 아닌 사용자로서 이 작업을 시도했습니다. 같은 행동. VPS 외부에서는 접속이 불가능하며, VPS 자체에서만 접속이 가능합니다.

  • 192.168.0.2에서도 수신 대기하도록 VPS SSH 서버를 설정하면 해당 주소에서 VPS에 액세스할 수 있습니다. 그러나 192.168.0.2의 끝점 중 하나와 원격 시스템의 다른 끝점을 사용하여 터널을 생성하면 터널은 VPS 내부에서만 액세스할 수 있고 외부에서는 액세스할 수 없습니다.

내가 무엇을 놓치고 있는지 아시나요?

관련 정보