Как использовать TightVNC Java Viewer со встроенным SSH для подключения к экземпляру Ubuntu Google Compute Engine?

1026
Web Developer

Я использую TightVNC Java Viewer, загруженный отсюда: https://www.tightvnc.com/release-jviewer-2.6.php, который имеет встроенную поддержку SSH. Используя это, я хотел бы подключиться к своему экземпляру Google Compute Engine, на котором работает Ubuntu 16.04.

До сих пор я выполнял следующие шаги, обращаясь к различной онлайн-документации:

  1. Установлен TightVNC Server на экземпляре Ubuntu.

  2. Запустил VNC-сервер, используя vncserver -localhost :1

  3. Сервер OpenSSH уже установлен на экземпляре.

  4. Назначен статический внешний IP-адрес экземпляру

  5. Попытался получить доступ к VNC-серверу с помощью средства просмотра Java TightVNC, указав SSH-хост в качестве внешнего IP-адреса экземпляра, SSH-порт по умолчанию 22, SSH-пользователь в качестве владельца экземпляра, Remote Host в качестве локального хоста и Port в качестве VNC-порта 5901.

Но соединение не удалось из-за ошибки: Невозможно установить соединение SSH: нет поддерживаемых методов аутентификации.

Примечание: я проверил, что соединение VNC работает без использования SSH, когда я непосредственно открываю порт 5901в настройках брандмауэра Compute Engine и запускаю vncserver :1. Таким образом, используя сам TightVNC Java Viewer, я могу получить доступ к рабочему столу Mate, который я установил в Ubuntu. Но я бы хотел использовать безопасное соединение через SSH. Так что еще мне нужно сделать, чтобы включить это?

0

2 ответа на вопрос

0
Web Developer

Из этого поста я узнал, что в настоящее время TightVNC поддерживает только аутентификацию по паролю для SSH, а не аутентификацию по секретному ключу: http://vnc-tight-list.narkive.com/IGmBV7W6/tightvnc-java-viewer-jsch-key-based-authentication, Таким образом, чтобы использовать его, необходимо выполнить следующие шаги, чтобы включить аутентификацию по паролю для SSH на экземпляре Compute Engine: 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 ▲ и ▼

0
Aosoft

В качестве альтернативы, если вы хотите использовать более безопасную аутентификацию на основе ключей, вы можете использовать ssh-клиент для независимого создания туннеля и запуска через него vncviewer. Такая команда будет работать, если вы подключаетесь из системы на основе Unix:

ssh -i /path/to/key -L 5901:localhost:5901 user@public.ip

Или, если вы подключаетесь из Windows, putty предоставляет графический интерфейс и может также выполнять туннелирование. Затем вы просто указываете своему vncviewer на localhost: 5901 без ssh, и у вас есть зашифрованное соединение vnc без передачи пароля по проводам.

Похожие вопросы