Установка SSH и включение sshd
сервиса в NixOS отличается от традиционных дистрибутивов Linux благодаря уникальной системе управления пакетами и неизменяемой инфраструктуре NixOS.
В традиционных дистрибутивах Linux, таких как Debian или RHEL, для установки пакетов из централизованных репозиториев обычно используются менеджеры пакетов, такие как apt
или dnf
. Эти менеджеры пакетов устанавливают пакеты вместе с их зависимостями в работающую систему.
Однако в NixOS управление пакетами более декларативно и атомарно. Вместо непосредственной установки пакетов на работающую систему NixOS создает новую конфигурацию из указанных пакетов и их зависимостей в изолированном окружении. Затем происходит переход на эту новую конфигурацию, что делает всю операционную систему неизменяемой.
Основными причинами такого иного подхода в NixOS являются:
- воспроизводимость: NixOS стремится обеспечить воспроизводимый и надежный способ сборки всей системы из исходных текстов. Одна и та же конфигурация будет создавать идентичную систему, независимо от того, на какой машине она собрана.
- Атомарные обновления и откаты: Создавая новую конфигурацию вместо изменения работающей системы, NixOS обеспечивает атомарное обновление и откат. Если обновление прошло неудачно или возникли проблемы, вы можете легко откатиться к предыдущей конфигурации.
- Нет проблем с зависимостями: Управление пакетами в NixOS разрешает зависимости таким образом, чтобы избежать конфликтов между пакетами, требующими разные версии одной и той же зависимости.
- Декларативная конфигурация: NixOS поощряет декларативный подход к конфигурированию системы, при котором желаемое состояние системы описывается в одном конфигурационном файле –
/etc/nixos/configuration.nix
.
Установка openSSH на NixOS
Чтобы установить OpenSSH на NixOS, необходимо добавить его в конфигурацию системы, а затем пересобрать систему.
- Отредактируйте файл
configuration.nix
с помощью вашего любимого текстового редактора:
sudo nano /etc/nixos/configuration.nix
- Найдите и уберите комментирование следующей строки. Если строки нет, просто добавьте ее.
{ [...] # 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";
Сохраните изменения и выйдите из текстового редактора. - Перестройте конфигурацию системы NixOS:
sudo nixos-rebuild switch
Эта команда перестроит вашу систему NixOS с учетом изменений, внесенных в файлconfiguration.nix
. - После завершения процесса пересборки OpenSSH должен быть установлен и запущен в вашей системе NixOS.
- Проверим состояние службы openSSH с помощью команды:
sudo systemctl sshd status
Пример вывода:
Да,sshd
сервис включен и запущен! - Затем вы можете подключиться к нему с помощью SSH-клиента.
Например, я подключился к NixOS по SSH с моей системы Debian с помощью команды:
ssh ostechnix@192.168.1.23
Здесьostechnix
– это имя пользователя, а192.168.1.23
– IP-адрес моей системы NixOS.
Вы получите запрос на ввод пароля пользователя NixOS. Вот и все. Начинайте пользоваться NixOS.
Проверка версии NixOS
Убедитесь, что вы действительно вошли в NixOS, проверив ее версию. Чтобы проверить версию установленной NixOS, выполните следующую команду из терминала:
nixos-version
Эта команда выведет информацию о версии NixOS, включая версию выпуска NixOS, кодовое имя и хэш ревизии Git.
Пример вывода:
23.11.5541.56528ee42526 (Tapir)

В данном примере версия NixOS равна 23.11 (версия выпуска), 5541.56528ee42526 – хэш ревизии Git, а Tapir – кодовое имя этого выпуска.
Комментарии (0)