Я использую 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-серверу с помощью TightVNC Java Viewer, указав SSH-хост в качестве внешнего IP-адреса экземпляра, SSH-порт в качестве 22 по умолчанию, SSH-пользователя в качестве владельца экземпляра, Remote Host в качестве локального хоста и Port в качестве VNC-порта 5901

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

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

2 ответа2

0

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

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

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

0

Из этого поста я узнал, что в настоящее время 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 ▲ и

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .