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.2
VPS에서 이 작업을 수행할 수 있었고 성공적으로 가져왔습니다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 내부에서만 액세스할 수 있고 외부에서는 액세스할 수 없습니다.
내가 무엇을 놓치고 있는지 아시나요?