SSH 터널에서 VNC 세션을 생성 할 때“채널 3 : 개방 실패 : 관리 금지 : 개방 실패”


10

터널링 SSH 연결을 통해 VNC 연결을 만들 때 오류가 발생합니다.

channel 3: open failed: administratively prohibited: open failed

username터널링 된 VNC 연결을 사용하여 연결하려는 호스트에서 로컬로 호스트에 로그인하지 않은 경우에만 발생 합니다. SSH 터널 :

ssh -p 6000 -L 5901:127.0.0.1:5901 username@192.168.0.2

VNC 연결 :

vncviewer localhost:1

설정을 /etc/ssh/sshd_config사용 AllowTunnel yes하거나 사용 하지 않고 설정을 조정하려고했습니다 . (각 변경 후 ssh를 다시 시작했습니다. service ssh restart) 그러나 원격 호스트에서 로컬 세션을 실행하면 (예 : username로컬로 로그인 한 경우) 오류가 사라집니다 . 다른 사람이이 동작을보고 있습니까? VNC를 원격으로 시작하고 로컬로 로그인하지 않고도 액세스 할 수 있어야합니다.


1
마이크, 둘러보기 에서이 사이트가 어떻게 작동하는지 확인하고 내 답변으로 문제를 해결 한 경우 수락하십시오.
— Jakuje

답변:


14

찾고있는 옵션이 아닙니다 AllowTunnel( tun장치를 사용하는 VPN 및 레벨 3 전달 용). AllowTcpForwardingssh에서 TCP 트래픽의 로컬 및 원격 포트 전달을 처리하는을 찾고 있습니다.

서버에 어떤 값이 있는지 살펴보고 다음으로 변경하십시오 yes.

AllowTcpForwarding yes

빠른 답변 감사합니다. 문제가 해결 된 것 같습니다. 나는 같은 문제를 가진 다른 사람들을 보았고 하나의 제안이 AllowTunnel yes에 sshd_config있었지만 그것은 나에게 효과적이지 않았다.
— Mike Swartz

1
다른 답변이 여기에 왔기 때문에 아마도 도시의 전설 일 것입니다. 어디에서 왔는지 모릅니다. 매뉴얼 페이지를 열고 의미를 확인하기가 너무 쉽습니다. 그것이 효과가 있다면, 다른 사람들을 돕기 위해 해결책으로 답을 확인하십시오.
— Jakuje

1
다운 투표를해야하는 이유
— Jakuje

AllowTcpForwarding TCP 전달이 허용되는지 여부를 지정합니다. 사용 가능한 옵션은 TCP 전달을 허용하는“yes”또는“all”, 모든 TCP 전달을 방지하는“no”, 로컬 (ssh (1)의 관점에서) 전달만을 허용하는“local”또는 원격을 허용하는“remote”입니다. 전달 만. 기본값은“예”입니다.
— Bart Polot


0

이 오류의 이름 확인 원인이있었습니다. 내 / etc / hosts에는 다음과 같이 서버 이름에 대한 잘못된 IP 주소 (localhost가 아닌)가 있습니다.

127.0.0.1     localhost
192.168.2.45  server.domain.com server

그러나 구성된 서버 IP (및 호스트 / dig 명령으로 확인 된 DNS 이름)는 192.168.2.47입니다. 이전 IP 재구성으로 인한 간단한 오타. / etc / hosts를 수정 한 후 터널 연결이 완벽하게 작동했습니다.

ssh user@server.domain.com -L 3456:127.0.0.1:5901

터널에 localhost 리터럴 IP를 사용할 때 실제 IP가 오류를 일으킨 것은 이상합니다. 배포판 : Ubuntu 16.04 LTS.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.