В этом кратком руководстве мы рассмотрим шаги по установке openSSH на NixOS.
В отличие от традиционных Linux-систем (таких как Debian или RHEL), настройка openSSH в NixOS совершенно иная.
Но это не так уж и сложно.
Введение
Установка SSH и включение службы sshd в NixOS отличается от традиционных дистрибутивов Linux благодаря уникальной системе управления пакетами и неизменяемой инфраструктуре NixOS.
В традиционных дистрибутивах Linux, таких как Debian или RHEL, для установки пакетов из централизованных репозиториев обычно используются менеджеры пакетов, такие как apt или dnf.
Эти менеджеры пакетов разрешают зависимости и устанавливают пакеты вместе с их зависимостями в работающую систему.
Однако в NixOS управление пакетами более декларативно и атомарно.
Вместо непосредственной установки пакетов на работающую систему NixOS создает новую конфигурацию из указанных пакетов и их зависимостей в изолированном окружении.
Затем происходит переход на эту новую конфигурацию, что фактически делает всю операционную систему неизменяемой.
🔒 ASSH: усовершенствованный способ взаимодействия с SSH
Основными причинами такого иного подхода в NixOS являются:
- Воспроизводимость: NixOS стремится обеспечить воспроизводимый и надежный способ сборки всей системы из исходников. Одна и та же конфигурация приведет к созданию идентичной системы, независимо от того, на какой машине она собрана.
- Атомарное обновление и откат: Создавая новую конфигурацию вместо изменения работающей системы, NixOS обеспечивает атомарное обновление и откат. Если обновление прошло неудачно или возникли проблемы, вы можете легко вернуться к предыдущей конфигурации.
- Избежание ада зависимостей: Управление пакетами в NixOS разрешает зависимости таким образом, чтобы избежать конфликтов между пакетами, требующими разные версии одной и той же зависимости.
- Декларативная конфигурация: NixOS поощряет декларативный подход к конфигурированию системы, при котором желаемое состояние системы описывается в одном конфигурационном файле (/etc/nixos/configuration.nix).
Установка openSSH на NixOS
Чтобы установить OpenSSH на NixOS, необходимо добавить его в конфигурацию системы, а затем перестроить систему.
1. Отредактируйте файл configuration.nix с помощью вашего любимого текстового редактора:
2. Найдите и откомментируйте следующую строку.
Если ее нет, просто добавьте ее.
{ [...] # Enable OpenSSH daemon services.openssh.enable = true; [...] }
# Optional: Customize OpenSSH configuration # services.openssh.permitRootLogin = "no"; # services.openssh.passwordAuthentication = true; # services.openssh.port = 22; # services.openssh.protocol = "2";
Сохраните изменения и выйдите из текстового редактора.
3. Пересоберем конфигурацию системы NixOS:
Эта команда перестроит вашу систему NixOS с учетом изменений, внесенных в файл configuration.nix.
4. После завершения процесса пересборки OpenSSH должен быть установлен и запущен в системе NixOS.
5. Проверим состояние службы openSSH с помощью команды:
6. Затем вы можете подключиться с помощью SSH-клиента.
Например:
Здесь itsecforu- это имя пользователя, а 192.168.1.23 – IP-адрес системы NixOS.
Вам будет предложено ввести пароль пользователя NixOS.
Проверка версии NixOS
Убедитесь, что вы действительно вошли в NixOS, проверив ее версию.
Чтобы проверить версию установленной NixOS, выполните следующую команду из терминала:
Эта команда выводит информацию о версии NixOS, включая версию выпуска NixOS, кодовое имя и хэш Git.
Пример вывода:
23.11.5541.56528ee42526 (Tapir)
Заключение
- 🔐 Ansible SSH аутентификация и повышение привилегий
- 🔐 Добавление нового ключа SSH в GitHub
- 🖧 Как исправить ошибку SSH “Connection Refused”
- 📧 Как создать оповещение по электронной почте при входе в систему по SSH
- 🖧 30+ вопросов и ответов на интервью по SSH
- 🐧 Как ограничить доступ пользователей сервера к определенному каталогу в Linux
- 🎤 Как вывести микрофон на динамик удаленного компьютера