SSH 포트 전달이 실패하는 원인은 무엇입니까?

SSH 포트 전달이 실패하는 원인은 무엇입니까?

내 qnap nas에 설정 중인데 syncthing현재 nas의 GUI를 동일한 네트워크에 있는 노트북으로 전달하고 싶습니다. GUI는 nas 포트에서 사용할 수 있습니다 8384.

[~] # nc -zv 127.0.0.1 8384
localhost [127.0.0.1] 8384 (?) open

이제 노트북에서 이 서비스에 액세스하려면 다음을 사용합니다.

ssh -p 50022 -L 9090:127.0.0.1:8384 admin@nasipaddress -v

, 상술 한 바와 같이여기( -v디버깅을 위해 추가됨) 이 작업을 수행한 후 내 노트북 ​​브라우저에서 127.0.0.1:9090에 액세스하면 터미널에 다음 오류가 표시됩니다(터미널은 ssh위 명령으로 열린 nas로 이동합니다).

[~] # debug1: Connection to port 9090 forwarding to 127.0.0.1 port 8384 requested.
debug1: channel 3: new [direct-tcpip]
channel 3: open failed: administratively prohibited: open failed
debug1: channel 3: free: direct-tcpip: listening port 9090 for 127.0.0.1 port 8384, connect from 127.0.0.1 port 36462 to 127.0.0.1 port 9090, nchannels 4

이 메시지는 10번 반복되며 매번 포트가 36462늘어납니다 2. 이것은 administratively prohibited어떤 설정이 있다는 것을 암시하는 것 같습니다. NAS 자체에 대해 추측하고 있으니 살펴보겠습니다. 그러나 사용된 포트가 어디서 36462왔는지도 확실하지 않습니다.

에서 에 따라 으로 설정 sshd_config했지만 존재하지 않습니다.AllowTcpForwardingyesPermitOpen이 문제, 내가 PermitTunnel yes추가 했습니다이 게시물. 내 전체 sshd_config:

Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
PermitRootLogin yes
UseDNS no
Subsystem sftp /usr/libexec/sftp-server
AllowTcpForwarding yes
AllowUsers admin
PermitTunnel yes

구성을 변경한 후 SSH 데몬을 다시 시작했습니다.

인증 키를 사용하고 있으며 모든 줄에 다음이 .ssh/authorized_keys포함되어 있습니다.ssh-rsa l0ngcrpt0grAph1cK3Y descriptive name

편집하다: 새로운 정보를 반영하여 질문을 다시 작성했습니다.

편집하다:해결되었습니다!
결과적으로, sshd_configssh 데몬이 다시 시작되면 qnap nas에 대한 변경 사항이 취소됩니다. 네, 알아요. 따라서 AllowTcpForwarding yes행이 유지되도록 하는 유일한 방법은 다음과 같이 다른 방법으로 추가하는 것입니다.

setcfg LOGIN "SSH AllowTcpForwarding" TRUE

이것하다sshd를 다시 시작하고 시스템을 다시 시작한 후에도 살아남습니다.

답변1

sshd파일을 편집한 sshd_config후 NAS가 다시 시작되었습니까 ? 그렇지 않은 경우 여전히 이전 설정을 사용하고 있을 수 있습니다.

NAS에는 "관리 금지" ICMP 오류가 있는 127.0.0.1에서 포트 8384로의 연결 시도에 응답하는 소프트웨어 방화벽이 있거나 포트 8384의 애플리케이션 자체가 동일한 작업을 수행할 수 있습니다.

또는 sshdNAS 장치가 포트 전달 기능 없이 컴파일되어 sshd_config파일에 입력한 내용에 관계없이 포트 전달 시도에 "관리적 금지"로 응답할 수 있습니다.

관련 정보