- Установка и настройка сервера SSH в Linux
- Установка пакетов SSH
- Настройка SSH
- Рекомендации по установке и настройке Astra Linux 1.6
- Рекомендации по установке ОС с диска
- Установка пароля и прав для пользователя root
- Установка пароля для пользователя root
- Восстановление прав пользователя root
- Создание и использование локального репозитория
- Установка обновлений
- Настройка сетевых интерфейсов и их автостарт
- Настройка ssh
- Включение общепринятых alias’ов
- Настройка grub
- Освобождение GID 1001, UID 1000 и 1001 для штатных пользователей ЖС
- Установка системных пакетов
Установка и настройка сервера SSH в Linux
Secure Shell, т. е. SSH – протокол, обеспечивающий защищённые соединения и передачу данных между двумя удалёнными компьютерами. Изначально создавался на замену таким системам как rlogin и rcp. Как понятно из полного названия протокола, система SSH позволяет соединяться и управлять удалённым узлом (компьютером, маршрутизатором и т. д.), при этом защищая весь передаваемый трафик с помощью высоконадёжного шифрования.
SSH широко применяется администраторами серверов для их настройки и управления, да и обычные продвинутые пользователи — владельцы, например, сайтов или виртуальных серверов активно используют SSH для подключения к своей учётной записи на хостинге и использования командной оболочки сервера.
Сразу после окончания разработки система SSH стала активно трансформироваться в закрытый коммерческий продукт в виде версии SSH2. Но благодаря сообществу GNU версии протокола SSH1 и SSH2 были реализованы в виде открытого и свободно распространяемого ПО openSSH. В Linux-системах используется именно этот метапакет.
Метапакет SSH базово включает в себя сервер SSH (sshd) в качестве програмы-демона, а также несколько утилит: ssh – удаленная регистрация и выполнение команд, scp – передача файлов и ssh-keygen – для генерации пар SSH-ключей.
Установка пакетов SSH
Как уже говорилось система ssh в Linux-системах распространяется в виде составного метапакета, поэтому для установки всех требуемых утилит ssh нужно выполнить всего одну команду:
В Ubuntu
После чего начнется процесс установки
Как видно, менеджер пакетов сам распознает все зависимые и связанные пакеты и установит их. Также, по завершению установки, автоматически будет запущен SSH-сервер в режиме демона. Это можно проверить командой:
$ systemctl status sshd
или:
$ service sshd status даст тот же вывод. Теперь сервер работает с базовыми настройками по-умолчанию.
Настройка SSH
Режим работы SSH-сервера с настройками по-умолчанию хоть и является вполне работоспособным для небольших частных сетей, всё же нуждается в задании некоторых важных параметров для использования на высоконадёжных публичных серверах. Настройки демона хранятся в файле /etc/ssh/sshd_config. Посмотреть его можно командой
В первую очередь следует обратить внимание на следующие параметры: Port, AddressFamily, ListenAddress. Первый глобально задаёт номер порта, через который будет работать соединение и если оставить его стандартным, т. е. 22, то велика вероятность, что он будет слишком часто сканироваться роботами.
Примечание: для задания активации параметра необходимо раскомментировать соответствующую строку — убрать символ «#» в её начале.
Второй параметр задаёт семейство используемых IP-адресов — IPv4 и IPv6. Если, к примеру, используются только адреса IPv4, то очень рекомендуется установить для параметра
Для адресов семейства IPv6 используется значение inet6.
Параметр ListenAddress позволяет задавать порты для отдельных сетевых интерфейсов:
Поскольку реализация openSSH позволяет работать с протоколами SSH1 и SSH2, то разумно отключить использование SSH1, т. к. эта версия является устаревшей. Работа по SSH1 крайне не рекомендуется: Protocol 2
Очень полезным является параметр, позволяющий проводить авторизацию и шифрование трафика с помощью специальных SSH-ключей:
Следует заметить, что в таком случае серверу необходимо явно указывать, где хранятся открытые ключи пользователей. Это может быть как один общий файл для хранения ключей всех пользователей (обычно это файл etc/.ssh/authorized_keys), так и отдельные для каждого пользователя ключи. Второй вариант предпочтительнее в силу удобства администрирования и повышения безопасности:
AuthorizedKeysFile etc/ssh/authorized_keys # Для общего файла
AuthorizedKeysFile %h/.ssh/authorized_keys # Файл -> пользователь
Во втором варианте благодаря шаблону автоподстановки с маской «%h» будет использоваться домашний каталог пользователя.
Важно также отключать парольный доступ:
Или же, в случае, если всё-таки необходимо использовать доступ по паролю, то обязательно нужно отключать авторизацию по пустому паролю:
Для указания разрешённых или запрещённых пользователей и групп служат директивы DenyUsers, AllowUsers, DenyGroups, и AllowGroups. Значениями для них являются списки имён, разделяемых пробелами, например:
Следует также отключать root-доступ:
Иногда, когда следует задавать мультисерверную конфигурацию, очень удобно использовать алиасы (Aliases), что позволяет настроить сразу несколько режимов доступа (с разными хостами, портами и т. д.) и использовать их, указывая при этом конкретный алиас:
Настройки для алиасов хранятся либо глобально в /etc/ssh/ssh_config, либо раздельно для пользователей в
/.ssh/config. Здесь нужно не спутать с ssh_config! Пример:
Для применения сделанных настроек необходим перезапуск SSH-сервера:
Настройка и использование клиента SSH
Для подключения по к серверу используется команда:
где user_name – имя пользователя в системе, host_name – имя узла, к которому производится подключение, например:
При этом утилита ssh запросит (в зависимости от настроек сервера) логин, пароль или парольную фразу для разблокировки приватного ключа пользователя.
В случае авторизации по ключу, должна быть предварительно сгенерирована пара SSH-ключей — открытый, который хранится на стороне сервера, обычно в файле .ssh/authorized_keys в домашнем каталоге пользователя, и закрытый — используется для авторизации клиента и хранится, как правило, в каталоге .ssh/ домашней директории пользователя. Открытый ключ представляет собой «цифровой слепок» закрытого ключа благодаря которому сервер «знает», кто «свой», а кто «чужой».
Для генерации ключей используется утилита ssh-keygen:
Утилита предложит выбрать расположение ключей (лучше всё оставить по-умолчанию), обычно это каталог
/.ssh/, ввести парольную фразу для закрытого ключа. После чего будут сгенерированы открытый ключ id_rsa.pub и закрытый — id_rsa. Теперь нужно скопировать открытый ключ, т. е. «слепок» закрытого на сервер. Проще всего этого можно добиться командой:
Теперь можно выполнить подключение командой ssh и запустить защищённый сеанс удалённого управления.
Важно заметить, что использование сгенерированных openSSH-ключей несовместимо с PPK-форматом, используемым по-умолчанию в таких комплексах как PuTTY. Поэтому необходимо конвертировать имеющиеся openSSH-ключи в формат PPK. Удобнее всего это делать с помощью утилиты PuTTY – puttygen.exe.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Рекомендации по установке и настройке Astra Linux 1.6
Рекомендации по установке ОС с диска
Установка Astra Linux 1.6 выполняется с диска в режиме графической установки в соответствии с руководством по установке, прилагаемом к дистрибутиву (см. «Операционная система специального назначения «ASTRA LINUX SPECIAL EDITION» РУСБ.10015-01. Версия 1.6 «Смоленск». Руководство по установке).
В процессе установки ОС необходимо учесть следующее:
1. В окне «Настройки учетных записей пользователей и паролей» рекомендуется создать фиктивного пользователя user с паролем useruser (ввод пароля осуществляется после нажатия на кнопку «Продолжить»).
2. В окне «Выбор программного обеспечения» выберите все, кроме «Приложения для работы с сенсорным экраном» и «Средства Виртуализации»:
3. После нажатия на кнопку «Продолжить» откроется окно выбора дополнительных функций — пропустите выбор («Служба ALD» должна быть отключена).
4. Если в процессе дальнейшей работы будет использован статический IP-адрес (как бывает в большинстве случаев), то в окне «Дополнительные настройки ОС» включите настройку «Отключить автоматическую настройку сети».
5. В окне «Установка системного загрузчика GRUB на жесткий диск» требуется ввести пароль для GRUB, введите и запомните пароль — не менее 8 символов.
Установка пароля и прав для пользователя root
Установка пароля для пользователя root
В ходе установки Astra Linux 1.6 не определяется пароль для пользователя root. Зарегистрируйтесь в системе пользователем, созданным при установке (имя — user, пароль useruser), после чего выполните следующие команды:
Появится строка ввода пароля для root — введите пароль (пароль вводится вслепую, никаких символов не высвечивается). После ввода пароля и нажатия клавиши Enter появится строка повторного ввода пароля — повторите ввод пароля.
Восстановление прав пользователя root
Изначально в Astra Linux 1.6 пользователь root не имеет полный набор прав (например, он не может создавать каталоги в «/» или ставить пакеты). Для восстановления прав пользователя root выполните следующие действия:
- Зарегистрируйтесь пользователем, созданным при установке системы
- Нажмите Пуск -> Панель управления. Слева выберите раздел «Безопасность», а справа «Политика безопасности»
- В открывшемся окне «Управление политикой безопасности» выберите слева пункт «Мандатный контроль целостности» и снимите «галочку» с настройки «Подсистема Мандатного Контроля Целостности»
Создание и использование локального репозитория
1. Зарегистрируйтесь пользователем root.
2. Создайте каталог репозитория, например /.1/astra, выполнив команду:
3. В созданном каталоге репозитария создайте каталог conf, выполнив команду:
4. В conf создайте файл distributions.
Для создания файла выполните команду:
В открывшемся окне редактора введите следующее содержимое файла:
При копировании содержимого в файл обратите внимание, чтобы каждая строка не содержала в начале пробелов, — при необходимости, удалите их вручную. В конце файла обязательно должен быть перевод строки (проверьте наличие пустой строки в конце файла).
После ввода содержимого нажмите на клавишу F2 (файл будет сохранен), а затем F10 — для выхода из окна редактора.
Если по какой-либо причине указанная выше команда для создания файла не была выполнена, то воспользуйтесь командой vi, выполнив следующие действия:
4.2. Нажмите клавишу Insert для входа в режим редактирования.
4.3. Введите содержимое файла (приведено выше).
4.4. По окончании ввода текста (редактирования) нажмите клавишу Esc.
4.5. Для сохранения файла дважды нажмите Shift+z.
5. Вставьте первый диск дистрибутива и установите пакет reprepro, выполнив команды:
6. Инициализируйте репозиторий, выполнив команды:
7. Скопируйте пакеты в репозитарий, выполнив команду:
8. Проверьте, чтобы все терминалы и процессы, которые используют точку монтирования /mnt/cdrom, были завершены. Отмонтируйте диск, выполнив команду:
9. Вставьте второй диск дистрибутива и скопируйте пакеты, выполнив команды:
10. Отмонтируйте второй диск, выполнив команду:
11. Для подключения репозитария отредактируйте файл /etc/apt/sources.list, выполнив команду:
Откроется окно редактора, в котором будет выведено содержимое заданного файла. Удалите весь текст и вставьте следующую строку:
После ввода нажмите на клавишу F2 (файл будет сохранен), а затем F10 — для выхода из окна редактора.
Примечание. Если планируется использовать сетевой репозитарий, расположенный на ftp-сервере, то содержимое файла /etc/apt/sources.list должно выглядеть следующим образом:
где вместо servername нужно прописать имя ftp-сервера или его IP-адрес.
12. Выполните команду:
Установка обновлений
Установка обновлений выполняется пользователем root и включает выполнение следующих действий:
1. Создайте каталог, в который будут скачаны файлы обновлений, выполнив команду:
2. Скачайте обновления для Astra Linux 1.6 с официального источника:
Сохраните скачиваемые файлы в созданный каталог /.1/iso.
3. Создайте каталог репозитория, например /.1/astra-upd, выполнив команду:
4. В созданном каталоге создайте подкаталог conf, выполнив команду:
5. В conf создайте файл distributions. Для создания файла выполните команду:
В открывшемся окне редактора введите следующее содержимое файла:
При копировании содержимого в файл обратите внимание, чтобы каждая строка не содержала в начале пробелов, — при необходимости, удалите их вручную. В конце файла обязательно должен быть перевод строки (проверьте наличие пустой строки в конце файла).
После ввода содержимого нажмите на клавишу F2 (файл будет сохранен), а затем F10 — для выхода из окна редактора.
Если по какой-либо причине указанная выше команда для создания файла не была выполнена, то воспользуйтесь командой vi, выполнив следующие действия:
4.2. Нажмите клавишу Insert для входа в режим редактирования.
4.3. Введите содержимое файла (приведено выше).
4.4. По окончании ввода текста (редактирования) нажмите клавишу Esc.
4.5. Для сохранения файла дважды нажмите Shift+z.
6. Инициализируйте репозиторий, выполнив команду:
7. Cмонтируйте первый образ обновления и скопируйте пакеты, выполнив команды:
8. Отмонтируйте образ, выполнив команду:
9. Смонтируйте второй образ обновления и скопируйте пакеты, выполнив команды:
10. Отмонтируйте второй диск, выполнив команду:
11. Добавьте обновление в /etc/apt/sources.list. Для этого откройте этот файл на редактирование, выполнив команду:
12. Добавьте в файл строку следующего содержания:
После ввода нажмите на клавишу F2 (файл будет сохранен), а затем F10 — для выхода из окна редактора.
13. Выполните команды:
Настройка сетевых интерфейсов и их автостарт
Если при установке Astra Linux 1.6 была отключена автоматическая настройка сети (см. выше п. «Рекомендации по установке ОС с диска», шаг 4), то требуется сконфигурировать сетевые интерфейсы вручную. Для настройки сетевых интерфейсов выполните следующие действия:
1. Откройте на редактирование файл /etc/network/interfaces, воспользовавшись командой mkedit или iv (подробно см. выше п. «Создание и использование локального репозитория», шаг 4), и добавьте в его конец следующие строки:
где вместо , , и следует прописать соответствующие параметры компьютера, на котором выполняется настройка (за значениями параметров следует обращаться к администратору комплекса).
Обратите внимание, данные строки, настраивающие поднятие интерфейса eth0, в тексте редактируемого файла должны быть написаны ниже имеющихся в файле строк:
В противном случае инициализация сети в момент загрузки будет занимать очень продолжительное время.
2. Если на комплексе имеется DNS-сервер, то откройте на редактирование файл /etc/resolv.conf, добавив в него следующие строки (если файл отсутствует — создайте его):
где вместо нужно ввести адрес домена, — указать dns-суффиксы (их может быть несколько, пишутся через пробел), , . — ввести IP-адрес DNS-сервера (если серверов несколько, то каждый сервер указывается отдельной строкой). За значениями параметров следует обращаться к администратору комплекса.
3. Изменения вступят в силу после перезагрузки. Для этого выполните команду:
Настройка ssh
По-умолчанию, ssh-сервер выключен, а также блокирует попытки входа пользователем root. Для изменения настроек ssh-сервера, выполните следующие действия, зарегистрировавшись пользователем root:
1. Откройте файл /etc/ssh/sshd_config на редактирование, выполнив команду
Сохраните изменения, нажав F2, и закройте окно редактирования — F10.
Если команда mcedit не была выполнена, то воспользуйтесь командой iv (подробно см. выше п. «Создание и использование локального репозитория», шаг 4).
2. Запустите ssh-сервер и добавьте его в автозагрузку, выполнив команды:
Включение общепринятых alias’ов
По-умолчанию, у пользователей выключены общепринятые alias’ы, такие как ll. Для их активации рекомендуется отредактировать файл .bashrc, который находится в домашнем каталоге пользователя.
Для пользователя root откройте на редактирование файл /root/.bashrc, воспользовавшись командой mkedit или iv (подробно см. выше п. «Создание и использование локального репозитория», шаг 4), и удалите символ комментария (#) в следующих строках:
Для всех остальных пользователей отредактируйте файл /home/ /.bashrc, удалив символ комментария в следующих строках:
Настройка grub
Откройте на редактирование файл /boot/grub/grub.cfg, воспользовавшись командой mkedit или iv (подробно см. выше п. «Создание и использование локального репозитория», шаг 4).
Найдите строку, содержащую фразу /boot/vmlinuz-4.15.3-1-generic — именно это ядро грузится по-умолчанию. В конце этой строки уберите параметр quiet. Это позволит видеть процесс загрузки системы.
Что именно загружается по-умолчанию, определяется параметрами set default (19-я строка файла). Этот параметр указывает на уникальный идентификатор со строкой menuentry.
Так, например, параметр
указывает на строку
Освобождение GID 1001, UID 1000 и 1001 для штатных пользователей ЖС
Внимание! Выполняйте данный пункт только после отключения мандатного контроля целостности и восстановления пользователя root в правах (подробно см. выше п. «Установка пароля и прав для пользователя root»).
В ходе установки Astra Linux 1.6 штатные GID/UID занимает безусловно-создаваемый пользователь. Для освобождения GID/UID выполните следующие действия пользователем root:
1. Откройте на редактирование файл /etc/passwd, воспользовавшись командой mkedit или iv (подробно см. выше п. «Создание и использование локального репозитория», шаг 4).
2. Откройте на редактирование файл /etc/group.
3. Восстановите права на домашний каталог пользователя user, выполнив команду:
4. Создайте группу afis, выполнив команду:
5. Создайте пользователя admin с обязательным использованием ключа -m, иначе домашняя директория пользователя создана не будет:
Назначьте созданному пользователю пароль, выполнив команду:
6. Создайте пользователя st с обязательным использованием ключа -m, выполнив команду:
Назначьте ему пароль, выполнив команду:
Установка системных пакетов
Перед установкой ПО «ЖС» и «Фильтр» нужно обязательно нужно установить следующие пакеты:
Источник