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 yessshd_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.