Рейтинг:2

Как настроить NoMachine в Ubuntu с аутентификацией на основе ключа?

флаг cn

Как настроить NoMachine на Ubuntu?

Почему Номашина?

В Windows мне нравится использовать Chrome Remote Desktop для удаленного входа в систему, и он отлично работает. Но в Linux у меня просто проблема за проблемой с удаленным рабочим столом Chrome, и это очень глючит:

  1. Это мешает мне монтировать и использовать подключенные USB-диски или накопители: Автомонтирование при нажатии на диски в файловом менеджере с графическим интерфейсом внезапно перестало работать в Ubuntu. («Невозможно смонтировать... Нет прав на выполнение операции».)
  2. Это мешает мне изменить настройки моего принтера: Настройки gnome Ubuntu 18.04: как исправить «Системная политика запрещает изменения. Обратитесь к системному администратору» для второго пользователя, который уже является администратором
  3. Я получаю примерно одно использование за переустановку Chrome Remote Desktop: Не удается подключиться к удаленному рабочему столу Chrome в Ubuntu 18
  4. и т.д.

Итак, я слышал хорошие отзывы о NoMachine и хочу попробовать. Но я хочу использовать аутентификацию на основе ключей и отключить аутентификацию на основе пароля для повышения безопасности. Итак, как мне настроить NoMachine для этого?

Gabriel Staples avatar
флаг cn
@user535733 user535733, я просто хотел оставить вопросы и ответы с краткой информацией. все в одном месте, специально для Ubuntu. Поиск подробностей о таких вещах, как включение входа в систему на основе ключа и отключение входа в систему на основе пароля, в противном случае может быть немного сложным.
Рейтинг:2
флаг cn

Первоначально я разместил эти инструкции на моем eRCaGuy_dotfiles репо здесь: https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles/tree/master/NoMachine

Если вам когда-нибудь понадобится ssh, я задокументировал мои различные заметки по ssh здесь.

Информация о NoMachine

NoMachine — это отличный программа удаленного входа, с отличный возможности обмена файлами/монтирования и отличный кроссплатформенная поддержка для Windows, Mac, Linux, iOS, Android, Raspberry Pi и ARM. это нет с открытым исходным кодом, но бесплатное использование (только для личного использования - предприятия должны платить).

https://www.nomachine.com/

Настраивать

Скачать:

https://www.nomachine.com/download

Чтобы включить аутентификацию на основе ключей на сервере:

Использованная литература:
ПРОЧИТАЙТЕ ЭТО!

  1. Как настроить аутентификацию на основе ключа с протоколом NX
  2. Генерация нового SSH-ключа

По сути, просто добавьте свой открытый ключ в $HOME/.nx/config/authorized.crt файл на сервере. Если файл не существует, создайте его. Установите его разрешения на 0600. Вот один из примеров команд для этого:

1) Бежать от клиент:

Создайте новую пару закрытый/открытый ключ из клиент; запустите это с клиента:

ssh-keygen -t rsa -b 4096 -C "ваш личный комментарий или адрес электронной почты"

Скопируйте общественный (.pub) ключ только от клиента к серверу; запустите это с клиента; обратите внимание на переименование файла в месте назначения, чтобы избежать конфликта с ключами, уже сгенерированными на сервере:

scp ~/.ssh/id_rsa.pub имя_пользователя@server_hostname_or_ip:~/.ssh/id_rsa_nxclient.pub

2) Бежать от сервер:

Теперь добавьте открытый ключ на сервер в соответствующий файл NoMachine; запустите это с сервера:

кошка ~/.ssh/id_rsa_nxclient.pub >> ~/.nx/config/authorized.crt

И, наконец, установите разрешения для этого файла на 0600, чтобы разрешить чтение/запись этого файла ТОЛЬКО для пользователя (владельца) этого файла в целях безопасности:

chmod 0600 ~/.nx/config/authorized.crt

К запрещать вход на сервер по паролю:

NB: НЕ делайте этого до тех пор, пока аутентификация на основе ключей не будет настроена и проверена на работоспособность, иначе вы потеряете возможность удаленного подключения через NoMachine и вам придется вручную исправлять это удаленно через ssh или локально!

Использованная литература:
(Не совсем отвечая на этот вопрос, но косвенно помогая в его выяснении)

  1. Предотвращение аутентификации по паролю с помощью протокола NX и аутентификации на основе ключа
  2. Объяснение файлов server.cfg и node.cfg (для сервера версии 4 и выше)

Примечание. В Linux server.cfg находится здесь: «/usr/NX/etc/server.cfg».

На сервере, отредактируйте server.cfg (sudo gedit /usr/NX/etc/server.cfg) и найдите этот раздел:

#
# Укажите, как клиенты должны будут аутентифицироваться на сервере,
# по умолчанию поддерживаются все доступные методы. Это соответствует
# чтобы оценить все. Чтобы указать подмножество методов, используйте через запятую
# список.
#
# Поддерживаемые методы подключения по протоколу NX:
# NX-пароль : Аутентификация по паролю.
# NX-private-key: аутентификация на основе ключа.
# NX-kerberos : аутентификация на основе билета Kerberos.
#
# Поддерживаемый метод подключения по протоколу SSH:
# SSH-система: все методы, поддерживаемые для входа в систему.
# Методы аутентификации SSH для входа в систему
# должны быть установлены в системе, например, в
# Конфигурация PAM.
#
# Например:
# AcceptedAuthenticationMethods NX-закрытый ключ,SSH-система
#
# Этот ключ должен использоваться вместе с ClientConnectionMethod.
# См. также ключ EnableNXClientAuthentication для включения SSL
# аутентификация клиента для соединений по протоколу NX.
#
#AcceptedAuthenticationMethods все

Теперь чуть ниже этой закомментированной строки, указывающей настройку по умолчанию:

#AcceptedAuthenticationMethods все

Добавьте эту строку, чтобы изменить настройку, чтобы разрешить ТОЛЬКО аутентификацию на основе ключа:

AcceptedAuthenticationMethods NX-закрытый ключ

Затем перезапустите сервер NoMachine (https://www.nomachine.com/TR11N07362):

sudo /usr/NX/bin/nxserver --restart

Теперь попробуйте подключиться удаленно с помощью NoMachine с аутентификацией на основе пароля, и вы должны увидеть следующую ошибку в программе с графическим интерфейсом:

Упс! Сбой согласования сеанса.Ошибка: Метод аутентификации NX-пароль не разрешен на этом сервере

Если вы увидели указанную выше ошибку, вы успешно отключили вход в систему с аутентификацией по паролю! Теперь проверьте свою аутентификацию на основе ключа, чтобы убедиться, что она все еще работает.

Для подключения из-за пределов вашей сети

Чтобы подключиться к NoMachine из-за пределов вашего дома, вы должны либо использовать VPN в своей локальной сети, либо открыть переадресацию портов через брандмауэр в своем модеме.

Чтобы выполнить переадресацию портов, подключитесь к модему через его IP-адрес в браузере и через настройки сопоставьте какой-нибудь внешний порт, например 10000, на IP-адрес и порт вашего внутреннего компьютера с NoMachine. Эти детали для других вопросов и ответов когда-нибудь ...

Порт по умолчанию для вашего сервера NoMachine: 4000, Полагаю. Щелкните значок NoMachine в правом верхнем углу в Ubuntu, перейдите в «Показать статус службы» -> щелкните вкладку «Настройки сервера» справа -> см. «Порт» для вашего сервера NoMachine.

Выполнено.

Gabriel Staples avatar
флаг cn
@ user68186, `4000`, кажется. Щелкните значок NoMachine в правом верхнем углу в Ubuntu, перейдите в «Показать статус службы» -> щелкните вкладку «Настройки сервера» справа -> см. «Порт» для вашего сервера NoMachine.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.