¿Cómo utilizar TightVNC Java Viewer con SSH integrado para conectarse a una instancia de Ubuntu Google Compute Engine?

¿Cómo utilizar TightVNC Java Viewer con SSH integrado para conectarse a una instancia de Ubuntu Google Compute Engine?

Estoy usando el Visor Java TightVNC descargado desde aquí:https://www.tightvnc.com/release-jviewer-2.6.phpque tiene soporte SSH incorporado. Usando esto, me gustaría conectarme a mi instancia de Google Compute Engine que ejecuta Ubuntu 16.04.

He realizado los siguientes pasos hasta ahora consultando diversa documentación en línea:

  1. Instalé TightVNC Server en la instancia de Ubuntu.

  2. Inicié el servidor VNC usandovncserver -localhost :1

  3. El servidor OpenSSH ya está instalado en la instancia.

  4. Se asignó una dirección IP externa estática a la instancia.

  5. Intenté acceder al servidor VNC utilizando TightVNC Java Viewer especificando el host SSH como la dirección IP externa de la instancia, el puerto SSH como predeterminado 22, el usuario SSH como propietario de la instancia, el host remoto como localhost y el puerto como puerto VNC 5901.

Pero la conexión falló con el error:No se puede establecer una conexión SSH: no hay métodos de autenticación compatibles disponibles.

Nota: He probado que la conexión VNC funciona sin usar SSH cuando abro directamente el puerto 5901en la configuración del firewall de Compute Engine y ejecuto vncserver :1. De esta manera, utilizando el propio TightVNC Java Viewer, puedo acceder al escritorio Mate que tengo instalado en Ubuntu. Pero en su lugar me gustaría utilizar una conexión segura a través de SSH. Entonces, ¿qué más necesito hacer para habilitar esto?

Respuesta1

Alternativamente, si desea utilizar la autenticación basada en claves más segura, puede utilizar un cliente ssh para establecer un túnel de forma independiente y ejecutar vncviewer a través de él. Un comando como este funcionaría si te conectas desde un sistema basado en Unix:

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

O, si se conecta desde Windows, PuTTY proporciona una interfaz gráfica de usuario y también puede realizar túneles. Luego, simplemente apuntará su vncviewer a localhost:5901 sin ssh y tendrá una conexión vnc cifrada sin pasar la contraseña por cable.

Respuesta2

En esta publicación descubrí que actualmente TightVNC solo admite la autenticación de contraseña para SSH y no la autenticación de clave privada:http://vnc-tight-list.narkive.com/IGmBV7W6/tightvnc-java-viewer-jsch-key-based-authentication. Entonces, para usarlo, es necesario seguir los pasos aquí para habilitar la autenticación de contraseña para SSH en la instancia de Compute Engine:http://itmeditate.blogspot.in/2014/03/enable-password-authentication-for.htmlcon la salvedad allí mencionada.

Además, asegúrese de tener la siguiente configuración en su/etc/ssh/sshd_configarchivo:

PermitRootLogin prohibit-password
PermitEmptyPasswords no
PasswordAuthentication no

y permita la autenticación de contraseña solo para su nombre de usuario específico al final del archivo como se menciona aquí:https://serverfault.com/questions/307407/ssh-allow-password-for-one-user-rest-only-allow-public-keys

información relacionada