Автоматический ввод пароля ssh с помощью скрипта

Использование пароля

Начнем с инструкции о том, как подключиться к удаленному серверу через SSH по логину и паролю. Это самый простой способ. Хостер предоставляет вам IP-адрес, логин и пароль. Этого достаточно для того, чтобы установить соединение с удаленным сервером.

Подключение на Windows

Моя основная система — Windows. Раньше для подключения к серверу через SSH я пользовался сторонней утилитой PuTTY, потому что в операционной системе не было встроенного компонента. В «десятке» он появился, так что теперь можно подключаться к SSH через командную строку (cmd).

Чтобы включить встроенный в систему OpenSSH:

  1. Откройте «Параметры» (Win + I) и перейдите в раздел «Приложения».
  2. Выберите опцию «Управление дополнительными компонентами».
  3. Нажмите «Добавить компонент».
  4. Выберите в списке OpenSSH Client и нажмите «Установить».
  5. После завершения установки перезагрузите систему.

Теперь разберемся, как подключиться к SSH через cmd. Запустите командную строку и выполните запрос вида ssh [email protected].

Значение root — логин для подключения, вы получили его в письме при создании сервера. 185.104.114.90 — IP-адрес сервера. Его можно посмотреть в панели управления сервером или в том же письме, которое прислал хостер. У команды может быть также дополнительный параметр -p, после которого прописывается номер порта. По умолчанию используется порт 22. Если у вас настроен другой порт, нужно явно его указать, — например, полный адрес может выглядеть так: ssh [email protected] -p 150.

После выполнения команды клиент SSH предложит добавить устройство в список известных. Введите в командной строке yes и нажмите на Enter. Затем укажите пароль для доступа к серверу. На этом подключение к серверу через SSH завершено — теперь все команды будут выполняться на удаленной машине, к которой вы подключились.

На версиях младше Windows 10 1809 нет встроенной поддержки протокола OpenSSH. В таком случае понадобится сторонняя утилита. Смотрим, как через PuTTY подключиться по SSH:

  1. Запустите PuTTY.
  2. На вкладке Session укажите Host Name (IP-адрес сервера), Port (по умолчанию 22, но если вы в конфигурации сервера указали другой порт, нужно задать его номер).
  3. Убедитесь, что тип соединения установлен SSH.
  4. Нажмите на кнопку Open, чтобы подключиться.

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

Подключение на Linux и macOS

Теперь посмотрим, как подключиться по SSH через терминал на Linux. Для этого не требуется установка дополнительных компонентов, все работает «из коробки».

  1. Запустите терминал. Обычно для этого используется сочетание клавиш Ctrl+Alt+T. Найти терминал также можно по пути «Главное меню» — «Приложения» — «Система».
  2. Выполните команду для подключения. Синтаксис такой же, как на Windows, — ssh [email protected]. Если порт не стандартный, то нужно явно его указать: например, ssh [email protected] -p 150. Вместо root вы указываете свое имя пользователя, а вместо 185.104.114.90 — IP-адрес своего сервера.
  3. Если хост и порт указаны верно, на следующем шаге появится запрос на ввод пароля. При первом подключении также будет предложение добавить новое устройство в список известных. Для этого введите yes и нажмите на клавишу Enter.

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

Если IP-адрес или порт указаны неверно, то на экране появится сообщение об ошибке — Connection Refused. Это может также говорить о том, что доступ запрещен брандмауэром на удаленном сервере (если вы его не отключили). Чтобы разрешить подключение через SSH:

  • на сервере с Ubuntu/Debian выполните команду $ sudo ufw allow 22/tcp;
  • на сервере CentOS/Fedora выполните команду $ firewall-cmd —permanent —zone=public —add-port=22/tcp.

Цифра 22 в синтаксисе — номер порта. Если вы используете другой порт, то укажите его явно.

Если вы знаете как подключиться через SSH на Linux, то справитесь с этой задачей и на macOS. В операционной системе Apple тоже есть встроенный терминал. Синтаксис команды для подключения не меняется: ssh [email protected], где root — ваш логин, а 185.104.114.90 — IP-адрес сервера, с которым вы устанавливаете соединение. 

Прочее

Это бонус для развлечения. Шутка от разработчиков Linux, не несущая пользы.

cowsay — заставляет цифровую корову повторить текст, который вы ей передали. Как echo, только от лица коровы.

fortune | cowsay — награждает корову философским интеллектом и дает ей возможность делиться с вами умными цитатами.

cowsay -l — демонстрирует всех животных, которые могут с вами пообщаться в том случае, если вам почему-то не приглянулась корова.

sudo название менеджера пакетов install fortunes fortune-mod fortunes-min fortunes-ru — учит животных говорить на русском.

Здесь, пожалуй, и остановимся. Ключевые SSH-команды сервера мы рассмотрели. Их хватит для навигации и выполнения базовых операций. Остальное уже на ваших плечах и полностью зависит от проекта, над которым вы работаете.

Как установить SSH MITM

В качестве машины атакующего я буду использовать Kali Linux. Там уже имеются программы tshark, ettercap, arpspoof, nmap и iptables. Поэтому устанавливаем оставшиеся зависимости и SSH MITM следующим образом:

sudo apt install python3-netaddr python3-netifaces
git clone https://github.com/jtesta/ssh-mitm
cd ssh-mitm/
export LANG=en_US.utf-8
sudo ./install.sh

Обратите внимание на строку export LANG=en_US.utf-8 — если у вас система на английском языке, то эту строку можно пропустить. Она нужна поскольку будет скачен исходный код SSH и будет проверена его подлинность с помощью GPG

Но дело в том, что GPG выводит сообщения на языке системы, а проверка в установочном скрипте install.sh выполняется только для английского языка. В общем, если не выполнить эту команду, то установка не завершиться из-за того, что установочный скрипт будет всё время спотыкаться о проверку подписи.

Также ближе к концу установки программа напишет:

Kali Linux detected with no AppArmor installed.  For added safety, it is highly recommended (though not required) that sshd_mitm is run in a restricted environment.  Would you like to automatically enable AppArmor? (y/n) n

Я выбрал «n».

Как использовать tasksel?

tasksel отобразит все возможные пакеты для установки. Просто введите команду tasksel под правами пользователя root:

<code>$ sudo tasksel</code>

или

<code># tasksel</code>

Вы увидите следующее меню:

Рис.01: Debian Linux tasksel

Рис.02: Ubuntu Linux tasksel

Вы можете выбрать требуемые группы нажав пробел.

Как получить список доступных групп из командной строки?

Используя опцию —list-tasks вы получите списко всех доступных для установки групповых пакетов:

<code>$ tasksel --list-tasks</code>

Вывод:

u server	Basic Ubuntu server
u dns-server	DNS server
u edubuntu-server	Edubuntu server
i lamp-server	LAMP server
u mail-server	Mail server
i openssh-server	OpenSSH server
u postgresql-server	PostgreSQL database
i print-server	Print server
i samba-server	Samba file server
u tomcat-server	Tomcat Java server
u virt-host	Virtual Machine host
u ubuntustudio-graphics	2D/3D creation and editing suite
u ubuntustudio-audio	Audio creation and editing suite
u edubuntu-desktop-kde	Edubuntu KDE desktop
u edubuntu-desktop-addon	Edubuntu desktop
u kubuntu-desktop	Kubuntu desktop
u ubuntustudio-audio-plugins	LADSPA and DSSI audio plugins
u mythbuntu-desktop	Mythbuntu additional roles
u mythbuntu-frontend	Mythbuntu frontend
u mythbuntu-backend-master	Mythbuntu master backend
u mythbuntu-backend-slave	Mythbuntu slave backend
u mobile-mid	Ubuntu MID edition
u ubuntustudio-desktop	Ubuntu Studio desktop (must install)
i ubuntu-desktop	Ubuntu desktop
u mobile-mobile	Ubuntu mobile
u ubuntustudio-video	Video creation and editing suite
u xubuntu-desktop	Xubuntu desktop
u edubuntu-live	Edubuntu live CD
u kubuntu-kde4-live	Kubuntu live CD
u kubuntu-live	Kubuntu live CD
u kubuntu-dvd-live	Kubuntu live DVD
u mythbuntu-live	Mythbuntu live CD
u ubuntu-live	Ubuntu live CD
u ubuntu-dvd-live	Ubuntu live DVD
u xubuntu-live	Xubuntu live CD

Опция —task-desc отображает описание для каждого из пакетов:

<code>$ tasksel --task-desc  virt-host</code>

Выводt:

Packages necessary to host virtual machines

Как установить группу пакетов из командной строки?

Для установки LAMP введите:

И не забудьте ^. Если вы не введете данный символ в конце названия пакета, вы увидете следующее сообщение об ошибке:

E: Couldn't find package lamp-server

Для дальнейшего чтения:

man tasksel

Постовой

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

Элитная итальянская мебель по разумным ценам от элитной до недорогой. Спешите купить в Москве. Студия ДОРА

Установка OpenOffice в Fedora / OpenSUSE

Apache поддерживает Fedora, OpenSUSE и все дистрибутивы Linux, которые используют формат пакета RPM. Чтобы начать процесс установки, откройте окно терминала, нажав клавиши Ctrl + Alt + T или Ctrl + Shift + T. Затем используйте инструмент загрузки wget, чтобы получить последнюю версию пакета OpenOffice RPM.

1
2

wget https//sourceforge.net/projects/openofficeorg.mirror/files/4.1.7/binaries/ru/Apache_OpenOffice_4.1.7_Linux_x86-64_install-rpm_ru.tar.gz/download — O Apache_OpenOffice_4.1.7_Linux_x86-64_install-rpm_ru.tar.gz

 

Когда загрузка будет завершена, используйте команду tar, чтобы извлечь архив TarGZ в ваш домашний каталог.

1
2

tar xvf Apache_OpenOffice_4.1.7_Linux_x86-64_install-rpm_ru.tar.gz

 

После распаковки файлов TarGZ RPM перейдите в папку «ru»:

1
2

cd ru

 

Для дополнительной информации откройте файл readme с помощью команды cat.

1
2

cat readmes/README_ru|more

 

Закройте «readme» с помощью сочетания клавиш Ctrl + C. Затем перейдите в каталог «RPMS», чтобы установить файлы в Fedora Linux или OpenSUSE Linux.

1
2

cd RPMS/
 

Fedora

1
2
3
4
5

sudo dnf install *.rpm

cd desktop-integration/
 

sudo dnf install openoffice4.1.7-redhat-menus-4.1.7-9800.noarch.rpm-y

OpenSUSE

1
2
3
4
5

sudo zypper—no-gpg-checks install *.rpm

cd desktop-integration/
 

sudo zypper—no-gpg-checks install openoffice4.1.7-suse-menus-4.1.7-9800.noarch.rpm

После установки файлов RPM-пакетов в вашей системе OpenOffice готов к использованию!

На этом все. Надеюсь эта инструкция помогла установить OpenOffice в Linux

Возможные ошибки

Рассмотрим примеры ошибок, с которыми мы можем столкнуться и способы их решения.

1. Curl error (60): SSL peer certificate or SSH remote key was not OK

Ошибка появляется при попытке выполнить операцию обновления или установки пакетов.

Причина: сертификат подключенного репозитория не проходит проверку. Возможно, он просрочен или выдан не доверенным центром сертификации.

Решение: проблему можно решить на стороне сервера (если мы являемся его администратором), например, получив правильный сертификат у Let’s Encrypt. На стороне клиента можно отключить проверку SSL для репозитория командой:

yum-config-manager —save —setopt=<имя репозитория>.sslverify=0

Или в конфигурационном файле репозитория добавить или изменить строку с sslverify:

sslverify=0

* данная опция задает необходимость проверки SSL для репозитория.

2. Error: GPG validation FAILED

Ошибка появляется при попытке установить пакет.

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

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

yum-config-manager —save —setopt=<имя репозитория>.gpgcheck=0

Или через конфигурационный файл:

gpgcheck=0

Лицензирование

Данный программный продукт является платным. Последние версии продукта продаются по программе подписки сроком на месяц, год. Старые версии ISPmanager также распространялись по принципу «вечной лицензии».

Лицензия привязывается к внешнему IP-адресу. Если наш сервер выставлен наружу, то активация произойдет автоматически.

Если у нас серый IP, то активацию продукта нужно выполнить вручную командой:

export ACTIVATION_KEY=<ключ_активации>

Посмотреть статус лицензирования можно в самой панели — Помощь — О программе:

Без ключа активации будет действовать ознакомительная лицензия на 14 дней.

Подключение по SSH с Windows 10, Linux OS или Mac OS

Внимание! Если вы используете Linux OS или Mac OS, перейдите к шагу №7. В Windows 10 есть встроенный «OpenSSH» клиент, который позволяет получать доступ к серверу через консоль, так же, как и на Linux OS

По умолчанию этот компонент не активирован

В Windows 10 есть встроенный «OpenSSH» клиент, который позволяет получать доступ к серверу через консоль, так же, как и на Linux OS. По умолчанию этот компонент не активирован.

Для его установки следуйте шагам ниже.

1. Откройте «Параметры».

2. Перейдите в раздел «Приложения», нажмите «Дополнительные возможности».

3. В списке найдите «OpenSSH Client», нажмите для раскрытия подробного описания.

4. Нажмите «Установить».

5. Дождитесь завершения установки. После того, как «SSHClient» будет установлен, перезагрузите компьютер для корректного применения настроек. Для командной строки станет доступна утилита SSH.

6. Откройте командную строку/терминал и введите команду со своими значениями:

 «ssh [email protected]» — для подключения с помощью пароля; «ssh [email protected] -i «C:Usersusername.sshid_rsa»»: — для подключения с помощью ключа.

username

Имя пользователя, указано справа от кнопки «Открыть консоль»

192.168.1.92

Плавающий IP-адрес вашей виртуальной машины.

Важно! Если вы создали виртуальную машину только с приватным интерфейсом, создайте плавающий IP и используйте его при подключении к ВМ по SSH.

C:Usersusername.sshid_rsa

Путь к файлу с приватным ключом в вашем локальном хранилище.
Ключ должен быть в формате PEM.

7. Утилита предложит добавить устройство в список известных, напишите «yes», чтобы добавить, «no», чтобы не добавлять. Нажмите «Enter».

8. (Пункт только для тех, кто подключается с помощью пароля) введите пароль, который вы задали при создании машины

9. Вы подключились к виртуальной машине.

Просмотр информации о пакетах

1. Список установленных пакетов:

yum list —installed

2. Получение зависимостей для пакета:

yum deplist <имя пакета>

Например:

yum deplist nginx

* покажет, какие пакеты или библиотеки необходимы для установки nginx. Дополнительно, могут быть указаны пакеты, которые нужны для удовлетворения зависимостей.

3. Посмотреть список файлов внутри установочного пакета.

Мы можем посмотреть данный список для уже установленного пакета:

rpm -ql <имя установленного пакета>

Например:

rpm -ql nginx

Или из установочного файла:

rpm -qlp <путь до RPM-пакета>

Например:

rpm -qlp nginx.rpm

4. Посмотреть, какой пакет предоставляет определенный файл:

yum provides audit-libs-python

В данном примере мы получим ответ:

audit-libs-python-2.8.5-4.el7.x86_64 : Python bindings for libaudit
Repo        : base

Это значит, что audit-libs-python содержится в пакете audit-libs-python-2.8.5-4.el7.x86_64, который в свою очередь, находится в репозитории base.

Можно также выполнять поиск по маске:

yum provides audit-libs-*

Запуск IOSTAT

IOSTAT инструмент, который доступен через команду iostat. Введите эту команду, чтобы увидеть, как она работает:

iostat

Вот пример вывода при вызове команду iostat:

Linux 2.6.32x86_64 (dev-db) 03/01/2016
avg-cpu: %user %nice %system %iowait %steal %idle
4.00 0.00 0.40 1.00 0.00 94.60
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 210.53 1022.33 1394.72 2214048305 3845623328
sda1 160.20 473.24 1422.29 1844686896 3295752889
sda2 21.00 320.12 145.21 1000012186 1668872653

Хотя этот отчет может, на первый взгляд, показаться очень сложным, на самом деле довольно прост. Мы объясним, по разделам, каждый аспект IOSTAT отчета, так что вы можете легко использовать отчеты для себя:

Раздел 1: Отчет CPU

В первой части отчета (площадь с процентными значениями), вы найдете статистику CPU. Здесь мы разбиваем для вас статистику, которую вы найдете. Для получения соответствующей статистики, мы добавили полезные данные жирным шрифтом, так что вы можете увидеть, что включает в обзор:

Что касается использования ЦП на уровне пользователя/приложения с и без приоритета, так и на уровне системы/ядра:

  • %user: В этом столбце отображается процент загрузки центрального процессора, что произошло во время выполнения на уровне пользователя / приложения.
  • %nice: В этом столбце также отображается процент загрузки центрального процессора, которая происходит во время выполнения на пользовательском уровне, однако на этот раз с хорошим приоритетом. Это означает, что только команды вызывается с Linux командой, что снижает приоритет ниже стандартного уровня, приведены в этой статистике.
  • %system: В этой колонке вы можете увидеть процент загрузки центрального процессора, происходящего во время выполнения в системе (также известный как ядро) уровне, в отличие от приведенных выше статистических данных.

Что касается простоя процессора и время ожидания:

  • %iowait: Эта статистика является процент времени, когда процессор или процессоры простаивали, в течение которого система имела выдающийся диск запроса ввода / вывода.
  • %steal: Второй в последней колонке продолжает показывать процент времени, проведенного в непроизвольном ожидании виртуальным процессором или процессорами в то время как гипервизор обслуживал другой виртуальный процессор.
  • %idle: Последняя колонка в этом разделе показывает процент времени, когда процессор или процессоры простаивали, и система не имела запрос к диску I/O (вход/выход).

Раздел 2: Отчет использование устройства

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

  • Device: Самый первый столбец показывает имя устройства или раздела , как указано в каталоге /Dev.
  • tps: Следующий столбец показывает статистику для данного устройства, и отображает количество передач в секунду (tps) , которые были выданы на устройстве. Занятыми процессорами будет иметь большее количество.
  • Blk_read/s: Эта статистика, блоки считывания в секунду, показывает объем данных, считываемых из устройства, как выражено в ряде блоков (например , килобайтах) в секунду.
  • Blk_wrtn/s: Аналогично, блоки записи в секунду показан с объемом данных, записываемых на устройство также экспрессируется в ряде блоков (например , килобайтах) в секунду.
  • Blk_read: Общее число блоков, считываемых для каждого устройства отображаются во втором в последней колонке.
  • Blk_wrtn: Точно так же, отображается общее количество блоков, записанных для каждого устройства, находится в последнем столбце.

Создание ключей SSH

Первый шаг для настройки аутентификации ключей SSH на сервере заключается в том, чтобы сгенерировать пару ключей SSH на локальном компьютере.

Для этого мы можем использовать специальную утилиту , которая входит в стандартный набор инструментов OpenSSH. По умолчанию она создает пару 2048-битных ключей RSA, что подходит для большинства сценариев использования.

Сгенерируйте на локальном компьютере пару ключей SSH, введя следующую команду:

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

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

Если ранее вы сгенерировали пару ключей SSH, вы можете увидеть следующий диалог:

Если вы решите перезаписать ключ на диске, вы больше не сможете выполнять аутентификацию с помощью предыдущего ключа. Будьте осторожны при выборе варианта yes, поскольку этот процесс уничтожает ключи, и его нельзя отменить.

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

Возможно вам будет интересно, в чем заключаются преимущества ключа SSH, если вам все равно нужна парольная фраза. Вот некоторые его преимущества:

  • Закрытый ключ SSH (защищенная паролем часть) никогда не доступен через сеть. Парольная фраза используется только для расшифровки ключа на локальном компьютере. Это означает, что парольную фразу нельзя взломать через сеть методом прямого подбора.
  • Закрытый ключ хранится в каталоге с ограниченным доступом. Клиент SSH не принимает закрытые ключи, хранящиеся в каталогах, доступ к которым не ограничен. У самого ключа могут быть ограниченные разрешения (чтение и запись доступны только владельцу). Это означает, что другие пользователи системы не смогут создать уязвимость.
  • Для попытки взлома защищенного парольной фразой закрытого ключа SSH злоумышленнику уже необходим доступ к системе. Это означает, что у него уже должен быть доступ к учетной записи пользователя или учетной записи root. Если вы окажетесь в такой ситуации, парольная фраза может помешать злоумышленнику сразу же попасть на ваши другие серверы. Это может дать вам достаточно времени, чтобы создать и внедрить новую пару ключей SSH и запретить доступ с взломанным ключом.

Поскольку закрытый ключ недоступен через сеть и защищен системой разрешений, доступ к этому файлу будет только у вас (и у пользователя root). Парольная фраза служит дополнительным уровнем защиты на случай взлома одной из этих учетных записей.

Парольная фраза представляет собой необязательное дополнение. Если вы решите ее использовать, вам нужно будет вводить ее при каждом использовании соответствующего ключа (если вы не используете программный агент SSH, хранящий зашифрованный ключ). Мы рекомендуем использовать парольную фразу, но если вы не хотите ее задавать, вы можете просто нажать ENTER, чтобы пропустить этот диалог.

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

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

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

Переходим в раздел Учетные записи — Пользователи — кликаем по Создать:

В открывшемся окне заполняем поля.

1) раздел «Основное»:

* где логин — имя пользователя, под которым он сможет входить в панель управления ISPmanager; полное имя — описание для пользователя; шаблон — готовый набор настроек (настраиваются в разделе Настройки — Шаблоны, могут использоваться как разные тарифные планы); пароль — пароль для пользователя.

2) Ограничения. Заполняется, если мы не используем шаблон:

* где базы данных и пользователи баз данных — соответственно количество баз и sql-пользователей, которые сможет создать пользователь; FTP-пользователи — количество аккаунтов с доступом к серверу по FTP; www-домены — количество сайтов, которые разрешено разместить на хостинге пользователю; доменные имена — количество доменов, которыми может управлять пользователь в DNS; почтовые домены — количество доменов для почты; почтовые ящики — ограничение на количество создаваемых ящиков.

3) Также, если на используем шаблон, настраиваем доступы:

* где SSL — разрешено ли будет настраивать и использовать HTTPS для сайтов; CGI — возможность использования сайтов, написанных на соответствующих скриптах; PHP как модуль Apache — возможность выбрать и использовать PHP + Apache; PHP в режиме CGI — скрипты PHP будут выполняться аналогично скриптам CGI; PHP в режиме FastCGI (Apache) — PHP обрабатывается Apache + FastCGI (позволяет повысить производительность); доступ к shell — позволить пользователю подключаться к серверу по SSH или через веб shell-консоль.

4) значения по умолчанию, как и предыдущие пункты, настраивается в случае отсутствия шаблона:

* где кодировка домена принудительно устанавливает кодировку по умолчанию; тип обработчика PHP — с помощью чего по умолчанию будут обрабатываться PHP скрипты (пользователь может выбирать позже любой, который доступен исходя из настроек доступа); версия PHP — версия php, которая будет выбрана по умолчанию (пользователь сам сможет ее поменять, при необходимости); индексная страница — скрипт по умолчанию, который будет запускать при обращении к домену без указания конкретного скрипта.

Yum: установка, обновление и удаление пакетов

Полная справка по менеджеру пакетов :

yum help

Очистить кеш всех пакетов (обчычно используется при возникновении проблем при работе yum):

yum clean all

Пересоздать кеш пакетов заново:

yum makecache

Отобразить список подключенных репозиториев:

yum repolist

Вывести список всех доступных пакетов для установки:

yum list available

Список всех пакетов, которые установлены в системе:

yum list installed

Вывести список пакетов, которые относятся к ядру Linux:

yum list kernel

Проверить установлен ли в системе определенный пакет, например, apache:

yum list installed httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.awanti.com
* epel: mirror.datacenter.by
* extras: mirrors.powernet.com.ru
* updates: mirror.axelname.ru
Installed Packages
httpd.x86_64    2.4.6-93.el7.centos    @base

Можно получить более подробную информацию о пакете:

yum info httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.awanti.com
* epel: mirrors.glesys.net
* extras: mirrors.powernet.com.ru
* updates: mirror.axelname.ru
Installed Packages
Name        : httpd
Arch        : x86_64
Version     : 2.4.6
Release     : 93.el7.centos
Size        : 9.4 M
Repo        : installed
From repo   : base
Summary     : Apache HTTP Server
URL         : http://httpd.apache.org/
License     : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
            : web server.

Чтобы установить пакет используется команда . Для установки веб-сервера apache выполните:

yum install httpd

Перед установкой пакета можно проверить его на зависимости и необходимые пакеты с помощью команды:

yum deplist httpd

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

yum install epel-*

Можно установить сразу несколько пакетов:

yum install wget htop yum-utils

Переустановка пакета:

yum reinstall proftpd

Удалить установленный пакет:

yum remove httpd

!Но перед удалением любого пакета, рекомендуется сначала проверить его на зависимости (бывают пакеты, удаление которых влечет за собой удаление множества других пакетов, что в следствии приводит к неработоспособности системы):

yum deplist httpd

Найти пакет по имени или описанию:

yum search httpd

С помощью опции вы можете найти пакеты, содержавшие определенный файл, например:

yum provides */squid.conf

Выполнить обновление всех установленных пакетов:

yum update

Вы можете обновить только определенный пакет, указав его имя:

yum update httpd

Проверить если доступные обновления для системы можно командой:

yum check-update

Получить информацию о доступных обновлениях безопасности:

yum updateinfo list security

Бывают случаи, когда после обновления какого-либо пакета или сервиса, возникают проблемы. Например, после обновления php, перестало работать ваше приложение или сайт. Вы можете вернуть предыдущую версию пакета, откатив установленный пакет:

yum downgrade php

Имеется возможность группой установки пакетов командой . В репозитории существуют предопределенные группы пакетов с различными наборами программ. Вы можете вывести список имеющихся групп:

yum grouplist

Рассмотрим на примере группового листа «Basic Web Server». Получить информацию о группе и пакетах в ней:

yum groupinfo "Basic Web Server"

При проверке мы видим, что будут установлены набор пакетов и сервисов для веб-сервера.

Ещё один полезный групповой лист «System Administration Tools»:

yum groupinfo "System Administration Tools"

Как видим, в данном листе содержатся пакеты, которые будут полезны для мониторинга и отладки.

Установить групповой лист можно командой:

yum groupinstall "System Administration Tools"

Установка дополнительных пакетов

ISP Manager позволяет работать с некоторым набором программного обеспечения, но установку лучше делать из панели управления. Например, для развертывания СУБД PostgreSQL переходим в раздел Настройки — Возможности — выбираем необходимое программное обеспечение — кликаем по Установить:

… система задаст вопрос, точно ли мы хотим установить пакет — отвечаем утвердительно. Начнется процесс установки, который может занять некоторое время. После пакет появится в системе.

Также мы можем добавить дополнительную версию PHP. Переходим в Настройки — Возможности — кликаем по «Альтернативная версия PHP …» (например, 5.6) — ставим галочки для PHP-FPM и Apache:

Нажимаем Применить изменения. Чтобы иметь возможность использовать PHP добавленной версии как модуль Apache, переходим в Настройки web-сервера — PHP. Один раз кликаем по нужной версии PHP и нажимаем на Как модуль Apache:

* имейте ввиду, что модулем apache может быть только одна версия PHP. Остальные будут работать как Apache + FastCGI.

Примеры команд

Рассмотрим отдельно примеры работы с FreeIPA посредством командной строки.

Работа с группами

1. Создание группы безопасности:

ipa group-add —desc=’Group for managers departmen’ managers

* создаем группу безопасности managers.

2. Добавить пользователя в группу:

ipa group-add-member managers —users=user1,user2,user3

* добавим в группу managers пользователей user1, user2 и user3.

3. Переименовать группу:

ipa group-mod —rename=<новое имя> <старое имя>

Например:

ipa group-mod —rename=admins users

* в данном примере мы переименуем группу users в группу admins.

Работа с сертификатами

1. Выпустить сертификат для компьютера (выполняется на компьютере, который присоединен к freeipa):

ipa-getcert request -k /etc/pki/tls/certs/freeipa.key -f /etc/pki/tls/certs/freeipa.crt -r

* в данном примере будет сформирован запрос на получение сертификата и сохранен в каталог /etc/pki/tls/certs.

2. Посмотреть список запросов на сертификат с узла можно командой:

ipa-getcert list

3. Удалить запрос можно командой:

ipa-getcert stop-tracking -i <идентификатор>

Например:

ipa-getcert stop-tracking -i openvpn

4. Обновить сертификат:

ipa-getcert resubmit —id=»20210923072007″

* где 20210923072007 — идентификатор запроса, который можно посмотреть командой ipa-getcert list.

Использование ключа

Ввод пароля для подключения через SSH — раздражающая процедура. У меня почти никогда не получалось ввести его правильно с первого раза. Поэтому я начал искать информацию о том, как подключиться к серверу через SSH без пароля. Простое и безопасное решение — использование ключа. Почему это безопаснее? Потому что пароль можно подобрать. Чтобы исключить такую вероятность, многие пользователи выбирают авторизацию с помощью ключа. 

Суть процедуры в формировании двух ключей: публичного и приватного. Первый копируется на сервер, а второй остается на компьютере пользователя и не передается по сети. В таком случае пароль при подключении не требуется. Когда вы подключаетесь к серверу через SSH, публичный ключ взаимодействует с приватным и открывает доступ к удаленному управлению.

Генерирование ключа и подключение на Windows

Для удобства используем программу PuTTy. Вместе с ней устанавливается утилита PuTTYgen — в ней можно сгенерировать публичный и приватный ключи.

  1. Запустите программу PuTTYgen.
  2. Нажмите на кнопку Gengerate.
  3. Водите курсором мышки по рабочему столу, чтобы сгенерировать случайные значения ключей.
  4. Нажмите на кнопку Save private key, чтобы сохранить на жестком диске приватный ключ. Место хранения может быть любым — его нужно указать в параметрах PuTTY. Сделаем это позже. 
  5. Скопируйте публичный ключ в буфер обмена (Ctrl + C) и закройте генератор ключей.

Теперь нужно перенести публичный ключ на сервер. Запустите программу PuTTY и подключитесь к серверу с помощью пароля. Затем последовательно введите следующие команды:

mkdir ~/.ssh

chmod 0700 ~/.ssh

touch ~/.ssh/authorized_keys

chmod 0644 ~/.ssh/authorized_keys

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

Следующий шаг — вставка публичного ключа из буфера обмена в файл authorized_keys. Для этого используется команда cat > .ssh/authorized_keys. После ввода команды щелкните по окну терминала правой кнопкой, чтобы вставить скопированный ранее публичный ключ. Для завершения ввода нажмите на сочетание клавиш Ctrl+D.

Вернитесь в настройки PuTTY. Перейдите в раздел Connection — SSH — Auth. Нажмите на кнопку Browse и укажите путь к приватному ключу, который вы ранее сохранили на жестком диске.

Теперь для подключения к серверу через SSH пароль не нужен — достаточно указать логин и IP-адрес сервера.

Генерирование ключа и подключение на Linux и macOS

Теперь посмотрим, как подключиться через SSH ключи на Linux и macOS. 

  1. Запустите терминал на локальном компьютере.
  2. Выполните команду ssh-keygen, чтобы сгенерировать ключи.
  3. Нажмите на Enter, чтобы сохранить ключи.

Генератор предложит также задать кодовую фразу для ключа. Это дополнительная мера безопасности: если кто-то получит доступ к вашей локальной машине, то все равно не сможет подключиться к серверу через SSH. Минус один — вам тоже придется постоянно вводить ключевую фразу. Можно отказаться от этой меры защиты, просто нажав на клавишу Enter

На этом процедура создания ключей завершена. Файлы d_rsa (приватный ключ) и id_rsa.pub (публичный ключ) хранятся в папке ~/.ssh/.  Осталось скопировать открытую часть ключа на сервер.

  1. Вернитесь в терминал.
  2. Выполните команду ssh-copy-id [email protected], где root — логин для подключения к серверу по SSH, а 185.104.114.90 — IP-адрес или хост сервера.

После выполнения этой команды публичный ключ будет скопирован на сервер. Теперь вы можете подключаться к удаленной машине с помощью логина и IP-адреса — например, ssh [email protected]. Ключи будут сопоставляться автоматически.

Отключение запроса пароля

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

  1. Подключитесь к удаленному серверу.
  2. Выполните команду sudo nano /etc/ssh/sshd_config. Файл sshd_config откроется во встроенном текстовом редакторе. 
  3. Найдите строку PasswordAuthentication yes и измените ее на PasswordAuthentication no.
  4. Сохраните изменения и перезапустите службу SSH командой sudo service ssh restart.

Авторизация по паролю отключена. Теперь подключиться к серверу можно только с помощью пары ключей.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: