SSH가 내장된 TightVNC Java 뷰어를 사용하여 Ubuntu Google Compute Engine 인스턴스에 연결하는 방법은 무엇입니까?

SSH가 내장된 TightVNC Java 뷰어를 사용하여 Ubuntu Google Compute Engine 인스턴스에 연결하는 방법은 무엇입니까?

여기에서 다운로드한 TightVNC Java 뷰어를 사용하고 있습니다.https://www.tightvnc.com/release-jviewer-2.6.phpSSH 지원이 내장되어 있습니다. 이를 사용하여 Ubuntu 16.04를 실행하는 Google Compute Engine 인스턴스에 연결하고 싶습니다.

지금까지 다양한 온라인 문서를 참조하여 다음 단계를 수행했습니다.

  1. Ubuntu 인스턴스에 TightVNC 서버를 설치했습니다.

  2. 다음을 사용하여 VNC 서버를 시작했습니다.vncserver -localhost :1

  3. OpenSSH 서버가 인스턴스에 이미 설치되어 있습니다.

  4. 인스턴스에 고정 외부 IP 주소를 할당했습니다.

  5. SSH 호스트를 인스턴스의 외부 IP 주소로, SSH 포트를 기본값으로 22, SSH 사용자를 인스턴스 소유자로, 원격 호스트를 localhost로, 포트를 VNC 포트로 지정하여 TightVNC Java 뷰어를 사용하여 VNC 서버에 액세스를 시도했습니다 5901.

그러나 다음 오류로 인해 연결이 실패했습니다.SSH 연결을 설정할 수 없습니다. 지원되는 인증 방법이 없습니다.

5901참고: Compute Engine 방화벽 설정에서 포트를 직접 열고 vncserver :1. 이렇게 하면 TightVNC Java 뷰어 자체를 사용하여 Ubuntu에 설치한 Mate 데스크탑에 액세스할 수 있습니다. 하지만 대신 SSH를 통한 보안 연결을 사용하고 싶습니다. 그렇다면 이것을 활성화하려면 또 무엇을 해야 합니까?

답변1

또는 보다 안전한 키 기반 인증을 사용하려는 경우 SSH 클라이언트를 사용하여 터널을 독립적으로 설정하고 이를 통해 vncviewer를 실행할 수 있습니다. Unix 기반 시스템에서 연결하는 경우 다음과 같은 명령이 작동합니다.

ssh -i /path/to/key -L 5901:localhost:5901 [email protected]

또는 Windows에서 연결하는 경우 Putty는 GUI를 제공하고 터널링도 수행할 수 있습니다. 그런 다음 ssh 없이 vncviewer를 localhost:5901로 지정하면 유선으로 비밀번호를 전달하지 않고도 암호화된 vnc 연결을 갖게 됩니다.

답변2

이 게시물에서 현재 TightVNC는 ​​개인 키 인증이 아닌 SSH에 대한 비밀번호 인증만 지원한다는 것을 알았습니다.http://vnc-tight-list.narkive.com/IGmBV7W6/tightvnc-java-viewer-jsch-key-based-authentication. 따라서 이를 사용하려면 여기 단계에 따라 Compute Engine 인스턴스에서 SSH에 대한 비밀번호 인증을 활성화해야 합니다.http://itmeditate.blogspot.in/2014/03/enable-password-authentication-for.html거기에 언급 된 경고와 함께.

또한 다음 구성이 있는지 확인하십시오./etc/ssh/sshd_config파일:

PermitRootLogin prohibit-password
PermitEmptyPasswords no
PasswordAuthentication no

여기에 언급된 대로 파일 끝에 있는 특정 사용자 이름에 대해서만 비밀번호 인증을 허용합니다.https://serverfault.com/questions/307407/ssh-allow-password-for-one-user-rest-only-allow-public-keys

관련 정보