Alt linux настройка ssh

Обновлено: 06.07.2024

Цель данной статьи — описать типовой процесс создания сервера терминалов с учетом особенностей ОС ALTLinux Desktop.

Немного теории
Описание протокола NX

Я не буду останавливаться на установке самого ALTLinux’а. Если нужно подробное руководство, то можно найти его, например, здесь . Итак, будем считать, что у вас на компьютере установлен ALTLinux Personal Desktop версии 4.0.* (у меня стоит 4.0.2). Компьютер также должен иметь выход в Интернет.

Для начала запустим ssh — сервер, по каналу которого и происходит обмен данными между сервером и клиентами nx. Для этого в терминале набираем su, затем вводим пароль суперпользователя. Затем набираем

service sshd start
chkconfig sshd on

SSH — сервер сгенерирует ключевую пару и впредь будет автоматически запускаться при старте системы.

Проверим, включен ли у вас официальный репозиторий. После этого вводим строку kwrite /etc/apt/sources.list. Откроется файл, в котором должны быть следующие строки:

Если этих строк нет, то добавьте их.

Далее необходимо обновить ваш список пакетов. Сохраняемся и выходим из редактора, в консоли от имени суперпользователя набираем apt-get update. С официального сервера ALTLinux загрузится список всех содержащихся там пакетов. ПО для ALTLinux поставляется в виде *.rpm — пакетов. Сравнительно недавно у этих пакетов поменялся метод сжатия. Для поддержки нового LZMA метода сжатия нам необходимо обновиться. Для этого от имени суперпользователя набираем следующие строки:

apt-get install ‘rpm>=4.0.4-alt93′
apt-get –reinstall update

К сожалению, пакеты nx и freenx отсутствуют в официальном репозитории ALTLinux, поэтому нам придется подключить репозиторий Sisyphus. Для этого снова открываем файл sources.list с помощью kwrite /etc/apt/sources.list и добавляем туда строки

Затем вводим следующие строки:

apt-get update
apt-get install nx freenx

Система управления пакетами скачает и установит все необходимые программы.

После этого нам остается завершить установку командой

nxsetup –install –setup-nomachine-key

Ok, nxserver is ready.

PAM authentication enabled:
All users will be able to login with their normal passwords.

PAM authentication will be done through SSH.
Please ensure that SSHD on localhost accepts password authentication.

You can change this behaviour in the /etc/nxserver/node.conf file.
Have Fun!

Значит все прошло успешно. После этого к серверу можно будет подключаться с помощью клиента от NoMachine, используя теже учетные записи, что и для локального входа в систему.

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

Первый этап — загрузка ядра — не зависит от типа операционной системы. Выбор устройства, с которого будет происходить загрузка (жёсткий диск, лазерный диск, дисковод), выполняют подпрограммы из ПЗУ компьютера — BIOS. Поиск ядра системы (возможно, нескольких) и настройку параметров ядра выполняет загрузчик, находящийся на выбранном для загрузки устройстве. Ни то, ни друге не нуждается в дополнительной настройке, пока не возникнет нештатная ситуация. Загрузчик Linux (LInux LOader, LILO ) распознаёт несколько способов загрузки и несколько вариантов настройки ядра, поэтому при старте он предлагает выбрать один вариант из нескольких. В меню LILO следует выбрать linux-up .

Загрузка системы

В процессе работы Linux активно несколько виртуальных консолей. Каждая виртуальная консоль доступна по нажатию Alt и функциональной клавиши с номером этой консоли. Так, в ALT Linux после загрузки системы функции системной консоли берёт на себя 12-я виртуальная консоль ( Alt - F12 ). Если запущена графическая подсистема X11, она занимает седьмую консоль, а для переключения в текстовый режим описанные клавиши нужно нажимать вместе с Ctrl : Ctrl - Alt - F1 , Ctrl Alt F2 и т. д.

Останов системы и выключение компьютера

Третий вариант — нажать на клавиатуре Ctrl - Alt - Del , после чего система пойдёт на перезагрузку (останов и немедленная повторная загрузка). Эти клавиши не имеют никакого собственного действия на систему, такая реакция — свойство ядра, которое можно отключить. Дождавшись начала загрузки (например, меню LILO ), вы можете выключить компьютер.

Организация компьютерного класса

При использовании Linux в локальной сети компьютерного класса возникает задача унифицированного окружения пользователя. Определённый пользователь должен иметь возможность сесть за любой компьютер в классе и по одной и той же учётной записи получить доступ к одной и той же файловой области. Такая машина называется клиентом, а машина, централизующая учётные записи и файловые области — сервером.

Задачу разделяемых по сети файлов можно решить с помощью сетевой файловой системы NFS. Для этого на сервере запускается системная служба nfsd, а разделяемые по сети каталоги и их свойства записываются в файл /etc/exports . Клиент монтирует (подключает к дереву каталогов) такие каталоги так же, как файловые системы — с помощью команды mount. Постоянно используемые сетевые каталоги можно записывать, по аналогии с файловыми системами, в файл /etc/fstab . Тогда монтирование будет происходить в процессе начальной загрузки системы.

Для создания унифицированного окружения необходимо объединить в локальной сети ровно один компьютер, настроенный по профилю Учитель и любое число компьютеров, настроенных по профилю Ученик .

Выбрать профиль « Учитель » или « Ученик » можно в процессе установки системы. Для этого на этапе . следует использовать режим Индивидуальный выбор пакетов и установить пакет network_profile_teacher или network_profile_student для настройки по профилям « Учитель » или « Ученик » соответственно.

Профиль Учитель предоставляет полный доступ к каталогу /home/chroot/nethome и его подкаталогам. Профиль Ученик монтирует этот каталог по NFS, подключая его к каталогу /home/network . Соответствующая строка в файле /etc/fstab машины Ученик выглядит так:

Задача распространения паролей по сети решена также с помощью сетевой файловой системы. Профиль Учитель предоставляет доступ по чтению к каталогу /home/chroot/etc, который машины с профилем Ученик монтирует вместо своего каталога /etc .

Все машины, каталог /etc которых смонтирован по NFS, получают одинаковые настройки и одинаковые учётные записи пользователей. Запись в сетевую /etc разрешать нельзя, но вместе с тем некоторые файлы в /etc должны быть доступны по записи. Кроме того, большая часть настроек различных компьютеров различается или может различаться.

Для того, чтобы иметь доступ к содержимому /etc и после монтирования по сети, на машине Ученик все файлы из каталога /etc дублируются в каталоге /etclocal путём создания жёстких ссылок. Все файлы в смонтированном /etc , за исключением тех, что содержат учётные записи пользователей, представляют собой символьные ссылки на соответствующие файлы в /etclocal . Таким образом, обращение к любому файлу в смонтированном /etc приведёт к файлу в /etclocal , который, в свою очередь, есть только альтернативное имя для соответствующего файла в « настоящем », несетевом /etc .

Тем не менее эта схема не учитывает поведение отдельных служб, которые удаляют или создают файлы в /etc . Это происходит, в основном, в процессе административных действий (установка и удаление пакетов, настройка системных служб и т. п.). Поэтому для выполнения любых административных действий на машине Ученик необходимо останавливать использование удалённого /etc с помощью системного сценария /etc/init.d/etcmount stop .

Допустимо использование машин, настроенных по профилю Учитель и Ученик в отсутствие локальной сети. В этом случае процесс начальной загрузки системы на машинах может замедляться на этапе настройки сети. Монтирование /etc по сети происходит только если сеть настроена и машина Учитель доступна. Поэтому в отсутствие сети используются учётные записи из собственного /etc машины, в том числе пользователь по умолчанию student .

Настроечный сценарий network_profile

Преобразованием стандартной установки ALT Linux 2.3 Compact в соответствии с профилем Учитель или Ученик занимается сценарий /usr/sbin/network_profile . Допустим многократный запуск этого сценария или запуск его на машине с системой, перенастроенной вручную, однако в последнем случае работать согласно профилю будут только те части системы, которые настраиваются им « с нуля ». Сценарий принимает один параметр: teacher — для настройки по профилю Учитель и student — для настройки по профилю Ученик .

Вне зависимости от профиля, network_profile выполняет следующие действия:

Определяет IP-адрес компьютера

Создаёт файл /etc/hosts

Проставляет hostname, соответствующий IP-адресу, в системные файлы настроек

Исправляет файл /etc/profile.d/tmpdir.sh

По команде /usr/sbin/network_profile teacher система настраивается соответственно профилю « Учитель ». При этом выполняются следующие действия:

Настройка службы DHCP и запуск её

Пересоздание пользователя teacher и замена пароля суперпользователя

Создание окружения /home/chroot , регистрация каталогов в /etc/exports

Создание сетевого пользователя netuser

Создание стартового сценария для службы ssh_passwd и запуск её

Замечание

При пересоздании /home/chroot сетевые пользователи, их домашние каталоги и пароли пользователей уничтожаются!

По команде /usr/sbin/network_profile student система настраивается соответственно профилю « Учитель ». При этом выполняются следующие действия:

создание записи о сетевых дисках в /etc/fstab , (все предыдущие записи о сетевых дисках уничтожаются)

создание стартового сценария для сетевого монтирования /etc ( /etc/init.d/etcmount )

создание стартового сценария, который пересоздаёт локального пользователя student

пересоздание пользователя student и замена пароля суперпользователя

пересоздание каталога /etclocal

монтирование домашних каталогов и /etc (при перезагрузке происходит автоматически)

Получение сетевых адресов

В схеме Учитель — Ученик компьютер Учитель всегда имеет адрес, указанный в настроечном сценарии network_profile (10.10.10.1). На этой машине запускается служба настройки удалённых компьютеров по сети (dhcpd, Dynamic Host Configure Prococol Daemon). Эта служба используется для присвоения IP-адресов машинам Ученик . На компьютерный класс выделено 240 адресов из диапазона, указанного в network_profile (10.10.10).

Выданные IP-адреса хранятся в файле /var/lib/dhcp/dhcpd.leases . Если этот файл пуст, присвоение сетевых адресов происходит по такому алгоритму. Первый из включённых компьютеров Ученик получит последний адрес из диапазона (10.10.10.254), что соответствует имени student1 , второй из включённых — student2 (предпоследний адрес, 10.10.10.253), и так далее. В дальнейшем dhcpd будет при выдаче IP-адреса руководствоваться файлом dhcpd.leases , а новые компьютеры будут получать адреса, ещё ни разу не выдававшиеся. Соответствие IP-адресов именам компьютеров задаётся в файле /etc/hosts .

Если возникла необходимость заново назначить IP-адреса компьютерам, их следует выключить, службу dhcpd — остановить, удалить все файлы в каталоге /var/lib/dhcp , создать новый /var/lib/dhcp/dhcpd.leases нулевой длины, запустить службу и включить компьютеры Ученик .

Пользователи системы

Суперпользователь

В Linux существует ровно один пользователь, права которого существенно выше прав остальных пользователей системы. Он называется root (« корень »), или суперпользователь. Ему соответствует учётная запись с именем root и идентификатором пользователя 0. Для выполнения административных действий следует зарегистрироваться в системе под этим именем. Никаких других работ, кроме администраторских, выполнять от имени пользователя root не рекомендуется, так как цена ошибки возрастает в несколько раз.

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

Для временного выполнения действий с правами root существует команда su - . выполнять эту команду могут только члены группы wheel (« штурвал »). Членство в группе определяется содержимым файла /etc/group . В случаях, когда требуется передать пользователю только часть полномочий, рекомендуется применять пакет sudo .

Работа с пользователями

Добавить нового пользователя можно при помощи команды useradd входное_имя с необязательными дополнительными параметрами. Результат работы этой команды может быть весьма различен в зависимости от схемы хранения учётных записей. В ALT Linux используется схема TCB, в которой при добавлении новой учётной записи добавляется новая строка в файл /etc/passwd , новый подкаталог /etc/tcb/входное_имя и файл shadow в нём. Для совместимости с другими схемами входное_имя может содержать только латинские буквы, цифры и символ подчёркивания. Для задания полного имени пользователя можно использовать ключ -c полное имя .

Изменить пароль пользователя может либо сам пользователь, либо суперпользователь. Не задавайте пароль, который легко угадать или подобрать! В ALT Linux применена довольно строгая система проверки паролей. Эта схема различает строчные и прописные латинские буквы, цифры, и прочие символы. Хороший пароль должен быть не короче восьми символов, содержать символы хотя бы трёх видов, причём большие буквы в начале и цифры в конце в счёт не идут. Так, например, пароль Please123 считается слабым, а 1Ple2ase3 — сильным.

Разумеется, в пароль не должны входить английские слова. Однако, если этих слов не меньше трёх и разделены они не только пробелами, пароль — такой, как Be off, kid! — также считается сильным. При вводе пароля на экран ничего не выводится. Пример:

Удалить учётную запись, домашний каталог и почтовый ящик пользователя можно с помощью команды userdel -r входное_имя . Если опустить -r , домашний каталог и почтовый ящик не удаляются.

В процессе начальной загрузки системы, настроенной по профилю « Ученик », автоматически удаляется и вновь заводится учётная запись student . Домашний каталог и почтовый ящик также удаляются. Для того, чтобы пересоздать пользователя student вручную, необходимо запустить стартовый системный сценарий /etc/init.d/mkstudent start .

Для изменения параметров существующей учётной записи используйте утилиту usermod . В частности usermod -L входное_имя временно запрещает использование соответствующей учётной записи, а usermod -U входное_имя — отменяет запрет.

Работа с сетевыми пользователями

Если администратор машины Учитель воспользуется командой chroot /home/chroot , он получит окружение, в котором /etc соответствует /home/chroot/etc , а /nethome — /home/chroot/nethome . Добавление и удаление пользователей в этом окружении приведёт к изменению учётных записей в /home/chroot/etc , которые распространяются на все машины Ученик . По умолчанию создаётся один пользователь netuser с паролем, указанным в настроечном сценарии network_profile . Пример:

Сетевой пользователь может и сам изменить себе пароль. Для этого нужно воспользоваться службой Secure Shell, запущенной на машине Учитель в том же окружении и с использованием нестандартного сетевого порта 2222. Этой службой заведует стартовый сценарий /etc/init.d/ssh_passwd .

Пример изменения пароля по сети (никакие поля, кроме поля входное_имя , изменять не надо):

В приведённом примере ssh — команда доступа к службе Secure Shell, -p 2222 означает использование порта 2222, -t — использование особых свойств терминальной линии (иначе пароль будет выводиться на экран), входное_имя@teacher — подключение к компьютеру teacher от имени пользователя входное_имя , а passwd — выполнить на удалённой машине команду passwd . Обратите внимание, что старый пароль пользователя входное_имя необходимо вводить дважды : один раз — при регистрации в службе sshd (Secure Shell), другой раз — команде passwd .

Обслуживание системы

Установка программных продуктов

Непосредственной установкой и удалением программных продуктов (пакетов) в ALT Linux занимается утилита rpm . Однако администратору использовать её неудобно, потому что большинство пакетов не могут нормально работать, если в системе не установлены некоторые другие, поэтому требуется сначала установить их. Те, в свою очередь, могут зависеть ещё от каких-нибудь пакетов, и так далее. Решением этой проблемы занимаются утилиты семейства apt : при установке одного пакета вычисляются также все, от которых он зависит, после чего в систему добавляется набор пакетов, необходимый для работы.

Кроме того, apt может брать пакеты для установки из нескольких источников. Все источники перечисляются в файле /etc/apt/sources.list . Для добавления каждого дистрибутивного CD в список источников пользуйтесь командой apt-cdrom add . Поиск в источниках пакета, описание которого содержит определённую подстроку осуществляется командой apt-cache search подстрока . Поиск лучше не производить от имени суперпользователя, так как, для совместимости с системными сценариями, пользователю root устанавливается только английский язык интерфейса. Для установки пакета в систему служит команда apt-get install имя_пакета . Пример:

Для работы с пакетами с помощью графического интерфейса можно использовать программу synaptic .

При использовании системы с профилем Ученик перед выполнением каких-либо административных действий необходимо остановить использование удалённого /etc с помощью системного сценария /etc/init.d/etcmount stop .

Переполнение файловых систем

Если в домашних каталогах пользователей (особенно сетевых) накопится слишком много ненужных файлов, места для нужных файлов может не хватить. Информация по заполненности файловых систем выводится командой df (disk free, свободное место на диске). Если поле Дост или Исп% содержат нулевое или отрицательное значения, изменять такую файловую систему разрешено только суперпользователю. Рекомендуется выявить, в каком подкаталоге содержится больше всего ненужных данных, и попросить хозяина почистить его (а не то сделать это в приказном порядке, применив права суперпользователя). Для определения размера каталогов можно использовать утилиту df .

Пример анализа файловой системы:

В приведённом примере явным пожирателем свободного места выступает хозяин каталога /home/chroot/nethome/greedy (2,7 гигабайта) — скорее всего, пользователь greedy — причём более 2,5 гигабайтов приходится на единственный подкаталог /home/chroot/nethome/greedy/pictures .

Обновление системы

Установленную и работающую на машине систему требуется обновлять только если обновления исправляют недостатки в системе безопасности (т. н. security updates). Кроме того, может потребоваться обновление достаточно старой системы для совместимости с новыми форматами файлов или сетевыми протоколами. Обновление списка пакетов производится с помощью команды apt-get update , а обновление самой системы в соответствии с обновлённым списком — с помощью apt-get dist-upgrade .

Итак, AltLinux Desktop 4.1.1. Или просто АльЛинукс для рабочего места 4.1.1. Почему именно эта версия ? Да непочему, а так вышло. Второй попавшийся под раздачу дистрибутив, с которым работаю.

Итак, про победы.
Как происходит настройка (openssh) ssh сервера.

Ну да ладно, сгенерировал, с помощью:

ssh-keygen -t rsa
ssh-keygen -t dsa

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Поиск

Последнее на форуме

Свежие комментарии

  • Руслан к записи Советский выключатель
  • admin к записи Эмулятор для мотора направления потока воды в ПММ на Ардуино
  • Алексей к записи Эмулятор для мотора направления потока воды в ПММ на Ардуино
  • admin к записи Ремонт стиральной машины BEKO WMN6510N
  • ВИКТОР к записи Ремонт стиральной машины BEKO WMN6510N
  • Антон к записи Львов, перекресток Валовой и Кн. Романа и пл. Соборная, теперь и тогда
  • Аноним к записи Готовая и смонтированная механика светильника гриндера 1200*50 мм

Рубрики

Автоблог

Свежие записи

Ноябрь 2021
Пн Вт Ср Чт Пт Сб Вс
1234567
891011121314
15161718192021
22232425262728
2930

Сайт Хроники Фрилансера (укр: Хронічний Фрілансер) это частный проект. Здесь вы найдете мои личные проекты, видео, фото и обзоры технологий и механизмов. На сайте работает форум, где вы сможете задать вопросы или высказать свое мнение. Проект ведеться каждодневно, показывает в основном только личные работы.

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. Посмотреть его можно командой


Для адресов семейства IPv6 используется значение inet6.
Параметр ListenAddress позволяет задавать порты для отдельных сетевых интерфейсов:

Поскольку реализация openSSH позволяет работать с протоколами SSH1 и SSH2, то разумно отключить использование SSH1, т. к. эта версия является устаревшей. Работа по SSH1 крайне не рекомендуется: Protocol 2
Очень полезным является параметр, позволяющий проводить авторизацию и шифрование трафика с помощью специальных SSH-ключей:

Или же, в случае, если всё-таки необходимо использовать доступ по паролю, то обязательно нужно отключать авторизацию по пустому паролю:

Для указания разрешённых или запрещённых пользователей и групп служат директивы 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.

Читайте также: