Ошибка аутентификации VNC

8

Я пытаюсь подключиться к моему vncserver, работающему на CentOs, с домашнего компьютера за брандмауэром. Я установил Win7 и Ubuntu на эту машину. У меня ошибка:

Ошибка подключения к VNC: слишком много ошибок безопасности в vncserver

даже при входе в систему с правильными учетными данными (я сбрасываю passwd на CentOs) я получаю: ошибка аутентификации.

Я замечаю, что мне приходится ждать целый день, чтобы иметь возможность заново войти в систему.

Это то, что я пытаюсь от имени root? Я думаю, что важно также то, что я должен войти в удаленный Centos через порт 6050 - у меня нет другого порта. Нужно ли что-то делать с другими портами? Я вижу, что vncserver прослушивает 5901, 5902, если другой добавлен - и я считаю, что соединение установлено, потому что время от времени (долгое время) появляется приглашение passwd, ... верно?

Я создал дополнительный user1, пароль для него для CentOS и VNC, также user2. Я делаю:

служба vncserver запуска

и два сервера запускаются, один: 1, а второй на: 2. Когда я пытаюсь подключиться к vncserverIP: 1 я получаю то, что описано выше, но когда я пытаюсь подключиться к vncserverIP: 2, это говорит о том, что пробная версия не удалась.

помогите пожалуйста, что делать?

дополнительно: как отключить эту блокировку для целей тестирования?

4pie0
источник

Ответы:

12

VNC использует отдельную систему паролей. Он не проверяет пароли к / etc / passwd, а к ~ / .vnc / passwd, который содержит один первичный пароль и, необязательно, вторичный пароль, который позволяет только просматривать экран.

Чтобы установить свой пароль VNC, используйте команду vncpasswd . Пароли VNC должны быть длиной от пяти до восьми символов - символы после восьмого молча игнорируются. Поэтому, если вы используете VNC через Интернет, выберите надежный случайный пароль , поскольку злоумышленники могут использовать бот-сети, имеющие множество IP-адресов, чтобы обойти блокировку и взломать ваш пароль.

Если вам необходимо использовать VNC через Интернет, запустите его на произвольно выбранном номере порта (не 5900), чтобы избежать обнаружения при сканировании портов, которое охватывает только общие порты. Желательно туннелировать ваше соединение VNC через SSH, чтобы защитить себя от подслушивания и атак «человек посередине». Если вы сделаете это, вы должны настроить vncserver таким образом, чтобы он не принимал соединения из Интернета, отключить аутентификацию только по паролю в службе SSH и использовать аутентификацию с открытым ключом для защиты от попыток взлома паролей с использованием грубой силы.

Перезапуск vncserver должен сбросить блокировку. На странице руководства не упоминается какой-либо способ полностью отключить (уже неадекватную?) Блокировку.

PleaseStand
источник
спасибо, как я уже сказал, я создал пользователей и установил им пароль как на терминале (passwd), так и на VNC (vncpasswd), поэтому пароли уже установлены. но я выбрал 9 буквенных паролей. Вы сказали, что VNC игнорирует последнюю букву, но игнорирует ли VNC его и при вводе паролей из 9 букв при регистрации? перезапуск с помощью: service vncserver restart не снимает блокировку: по-прежнему возникает ошибка аутентификации без возможности входа в систему. Итак, я должен попытаться войти (когда это разрешит снова), используя усеченные пароли (только первые 8 букв), или я должен установить это снова?
4pie0
Другой вопрос: как войти в систему как root? Является ли это возможным? при входе в систему вас спрашивают только об IP и пароле, так как войти в систему как root, чтобы увидеть сеанс root?
4pie0
@ cf16: простой ответ («как войти в систему как root?») - запустить vncserver от имени root. Если вы хотите войти в несколько разных учетных записей пользователей без необходимости использовать su или sudo, вам необходимо настроить диспетчер отображения X, например LightDM.
Пожалуйста, установите
Я начал с правами суперпользователя, поэтому он сообщает, что серверы для user1 и user2 были созданы. Запрос пароля появляется только при попытке IP: 1, при попытке подключения к IP: 2 он вообще не подключается.
4pie0
@ cf16: Попробуйте IP: 0. Это должно подключиться к порту 5900.
PleaseStand
0

У меня была эта проблема блокировки VNC. Я решил это, установив брандмауэр gufw .

H2ONaCl
источник
1
Можете ли вы рассказать мне больше о настройке этого брандмауэра? Спасибо.
zeflex
Мне также нужно решение для этой блокировки VNC
создатель
Просто установите gufw и добавьте записи для любых портов, которые вы хотите использовать. Например, для SSH добавьте запись для порта 22.
H2ONaCl
0

Добавляем к уже приведенным ответам:

Вы не упоминаете об этом прямо в своем сообщении, но описание вашей проблемы подразумевает, что вы были заблокированы после слишком многих неудачных попыток входа в систему. Я столкнулся с этой проблемой недавно, когда коллега не смог войти в систему после того, как слишком много раз пытался ввести неверный пароль. Я наткнулся на этот пост в SOLVEOPTIMIZED, который объясняет, как решить эту проблему.

Вы должны определить свои правила брандмауэра, чтобы разрешить входящие соединения через порт, который использует VNC-сервер. Сервер VNC использует порт 5900 + N, где N обозначает каждый новый экземпляр. Допустим, ваш экземпляр VNC-сервера работает на порту 5901, и вам необходимо разрешить входящие подключения к этому порту в настройках брандмауэра. Вы можете найти номера портов для всех случаев с

$ vncserver -l

После изменения правил брандмауэра вам просто нужно дождаться истечения времени ожидания сервера, и вы сможете снова войти в систему.

В качестве альтернативы, если вы не хотите ждать или не хотите связываться с настройками брандмауэра, вы можете перезапустить VNC-сервер, убив все его экземпляры. Это отличается от перезапуска службы, как вы сделали. Вы делаете жесткий перезапуск, сначала подбирая PID VNC

$ pgrep vnc

а затем убить все экземпляры с

$ kill pid

Удостоверьтесь, что фактически убили все экземпляры, если pgrep возвращает несколько PID.

jono3030
источник