Переустановить Ubuntu Server. По SSH. На разделе ZFS.
Ссыкотно начинать без консультаций ЛОРа. Есть сервер на Ubuntu Server 17.10 с ФС ZFS, внезапно положил тунца на снапшоты около года не делая их. И в один прекрасный момент решил накатить iRedMail, который сломал к херам iptables, зависимости и сервер MySQL, который теперь не (пере)устанавливается. Ну и эпично обновился до 18.04, выдернув не тот шнур питания на половине процесса обновления ;_;.
После всё таки забэкапил данные и так как дома только сплю, то хотел бы восстановить сервер по SSH. Кстати разметка такая:
$ sudo zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 390G 4,86T 128K / rpool/ROOT 14,1G 4,86T 128K none rpool/ROOT/ubuntu 14,1G 4,86T 13,2G / rpool/home 21,4M 4,86T 128K /home rpool/home/anton 21,1M 4,86T 21,1M /home/anton rpool/home/root 165K 4,86T 165K /root rpool/srv 52,4M 4,86T 52,4M /srv rpool/storage 370G 4,86T 370G /storage rpool/swap 4,25G 4,86T 2,86G - rpool/var 2,02G 4,86T 128K /var rpool/var/cache 870M 4,86T 870M /var/cache rpool/var/log 1,15G 4,86T 1,15G legacy rpool/var/mail 128K 4,86T 128K /var/mail rpool/var/spool 23,8M 4,86T 23,8M /var/spool rpool/var/tmp 181K 4,86T 181K legacy
Как я вижу решение проблемы:
- Подключаемся к серверу по SSH и ставим debootstrap.
- Через него ставим в директорию ~/new_ubuntu например 18.04.
- chroot в ~/new_ubuntu- до устанавливаем и настраиваем необходимые пакеты (ssh, например).
- Копируем из ~/new_ubuntu в rpool/ROOT/ubuntu (нужно ли предварительно очистить?!)
- Обновляем загрузчик
- reboot и удаляем ~/new_ubuntu
- Работаем в новой и чистой ОС
Прокатит ли так? Да и может есть какие-то более простые способы сбросить бубунту в нуль?

AntonyRF ★★★
17.05.18 11:24:10 MSK

Переустановить Ubuntu Server.
По SSH.
На разделе ZFS.
Ну что может пойти не так?
Exmor_RS ★★★
( 17.05.18 11:28:12 MSK )
Ответ на: комментарий от Exmor_RS 17.05.18 11:28:12 MSK

AntonyRF ★★★
( 17.05.18 11:37:21 MSK ) автор топика

Да и может есть какие-то более простые способы сбросить бубунту в нуль?
Есть, но судя по выхлопу zfs list , снапшотов ты не делал, потому остаётся только страдать переустанавливать Шindoшs Ubuntu.
Установи убунту и сделай снапшот чистой системы (zfs и компанию предварительно не забудь установить). Затем установи всё, что тебе нужно и снова сделай снапшот. Можешь выставить в crontab создание снапшотов раз в неделю.
r3lgar ★★★★★
( 17.05.18 12:21:44 MSK )

Лучше скажи, что и как сломалось — дешевле и менее опасно будет исправить ошибки, нежели переставлять удаленно что-то на zfs
zgen ★★★★★
( 17.05.18 12:30:12 MSK )
Ответ на: комментарий от r3lgar 17.05.18 12:21:44 MSK

Есть, но судя по выхлопу zfs list, снапшотов ты не делал
Откуда такая увереность?
zfs list -t snapshot -r rpool
iZEN ★★★★★
( 17.05.18 12:57:17 MSK )
Ответ на: комментарий от r3lgar 17.05.18 12:21:44 MSK

остаётся только страдать переустанавливать
Если есть доступ по ссш, то проще и быстрее починить.
redgremlin ★★★★★
( 17.05.18 13:09:38 MSK )
Ответ на: комментарий от iZEN 17.05.18 12:57:17 MSK

Кстати, что-то есть version1 — это совсем сразу после установки, а gitlab1 — это вроде когда я всё что нужно настроил.
$ zfs list -t snapshot -r rpool NAME USED AVAIL REFER MOUNTPOINT rpool@gitlab 0B - 128K - rpool/ROOT/ubuntu@version1 6,20M - 643M - rpool/ROOT/ubuntu@gitlab1 260M - 898M -
AntonyRF ★★★
( 17.05.18 13:15:36 MSK ) автор топика
Ответ на: комментарий от iZEN 17.05.18 12:57:17 MSK

Не помню, как ведёт себя zfs во фряхе (под рукой сейчас её нет), но с ZFSonLinux вот так:
# zfs list NAME USED AVAIL REFER MOUNTPOINT rp 20.1G 87.4G 96K none rp/gentoo 7.51G 87.4G 3.61G / rp/gentoo@stage4_minimal 570M - 1.13G - rp/gentoo@2017.10.28 490M - 1.09G - rp/gentoo@2018.02.11 2.31G - 2.63G - rp/source 11.9G 87.4G 11.9G /usr/source rp/users 646M 87.4G 646M /home
То есть, как видишь, по умолчанию снапшоты кажет.
r3lgar ★★★★★
( 17.05.18 13:15:37 MSK )
Ответ на: комментарий от redgremlin 17.05.18 13:09:38 MSK

Если есть доступ по ссш, то проще и быстрее починить.
Тащемта mysql-server для начала бы установить, но с этим беда =(
Необходимо скачать 0 B/3 200 kB архивов. После данной операции, объём занятого дискового пространства возрастёт на 48,4 MB. Хотите продолжить? [Д/н] y Предварительная настройка пакетов . (Чтение базы данных … на данный момент установлено 228987 файлов и каталогов.) Подготовка к распаковке …/mysql-server-5.7_5.7.22-0ubuntu18.04.1_amd64.deb … Failed to stop mysql.service: Unit mysql.service not loaded. invoke-rc.d: initscript mysql, action "stop" failed. invoke-rc.d returned 5 There is a MySQL server running, but we failed in our attempts to stop it. Stop it yourself and try again! dpkg: ошибка при обработке архива /var/cache/apt/archives/mysql-server-5.7_5.7.22-0ubuntu18.04.1_amd64.deb (--unpack): new mysql-server-5.7 package pre-installation script subprocess returned error exit status 1 Выбор ранее не выбранного пакета mysql-server. Подготовка к распаковке …/mysql-server_5.7.22-0ubuntu18.04.1_all.deb … Распаковывается mysql-server (5.7.22-0ubuntu18.04.1) … При обработке следующих пакетов произошли ошибки: /var/cache/apt/archives/mysql-server-5.7_5.7.22-0ubuntu18.04.1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Что бы это значило?
AntonyRF ★★★
( 17.05.18 13:17:43 MSK ) автор топика
Ответ на: комментарий от AntonyRF 17.05.18 13:17:43 MSK

redgremlin ★★★★★
( 17.05.18 13:35:13 MSK )
Ответ на: комментарий от redgremlin 17.05.18 13:35:13 MSK

Так я mysql через purge удалял и перезагружался. А что еще можно сделать?
AntonyRF ★★★
( 17.05.18 13:38:34 MSK ) автор топика
Ответ на: комментарий от AntonyRF 17.05.18 13:15:36 MSK

Тогда смело можно делать:
zfs rollback rpool/ROOT/ubuntu@gitlab1 && shutdown -r now
(команду «shutdown -r now» я взял из FreeBSD — не помню аналогичную в линуксе.)
iZEN ★★★★★
( 17.05.18 13:39:13 MSK )
Ответ на: комментарий от redgremlin 17.05.18 13:35:13 MSK

Кстати, при удалении
:~$ sudo apt-get remove --purge mysql-server mysql-client mysql-common Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Возможно, для исправления этих ошибок вы захотите воспользоваться «apt-get -f install». Пакеты, имеющие неудовлетворённые зависимости: libmysqlclient20 : Зависит: mysql-common (>= 5.5) но он не будет установлен mysql-client-5.7 : Зависит: mysql-common (>= 5.5) но он не будет установлен E: Неудовлетворённые зависимости. Попытайтесь выполнить «apt --fix-broken install», не указывая имени пакета, (или найдите другое решение).
apt —fix-broken install => не помогает, кажется, это баг из 17.10
UPD: Удалил по очереди успешно
AntonyRF ★★★
( 17.05.18 13:42:31 MSK ) автор топика
Последнее исправление: AntonyRF 17.05.18 13:43:46 MSK (всего исправлений: 1)
Ответ на: комментарий от iZEN 17.05.18 13:39:13 MSK

(команду «shutdown -r now» я взял из FreeBSD — не помню аналогичную в линуксе.)
В убунтах есть оное в качестве фоллбэка. А так — systemctl reboot .
r3lgar ★★★★★
( 17.05.18 13:44:01 MSK )
Ответ на: комментарий от iZEN 17.05.18 13:39:13 MSK

Это вырубит же сервак после восстановления?
AntonyRF ★★★
( 17.05.18 13:44:27 MSK ) автор топика
Ответ на: комментарий от AntonyRF 17.05.18 13:44:27 MSK

Это вырубит же сервак после восстановления?
-r — reboot. Так что не вырубит, а перезагрузит.
r3lgar ★★★★★
( 17.05.18 13:45:36 MSK )
Ответ на: комментарий от iZEN 17.05.18 13:39:13 MSK

Ща майскулю помучаем коллективными стараниями, если не поможет, то ролбакнусь
AntonyRF ★★★
( 17.05.18 13:46:28 MSK ) автор топика
Ответ на: комментарий от AntonyRF 17.05.18 13:42:31 MSK

После удаления всего, связанного с mysql, включая либы, и начинай чинить пакетную систему — apt-get dist-upgrade. Если есть ещё ppa, то сначала все отключить, все пакеты из них тоже снести, потом доставишь.
redgremlin ★★★★★
( 17.05.18 13:46:50 MSK )
Последнее исправление: redgremlin 17.05.18 13:47:30 MSK (всего исправлений: 1)
Ответ на: комментарий от redgremlin 17.05.18 13:46:50 MSK

На ZFS быстрее и надёжнее откатиться на верный снапшот — всего одна команда на каждую из ZFS.
iZEN ★★★★★
( 17.05.18 13:48:33 MSK )
Ответ на: комментарий от redgremlin 17.05.18 13:46:50 MSK

Удалил все от mysql, следующим образом
sudo apt-get purge mysql-server sudo apt-get purge mysql-client sudo apt-get purge mysql-common sudo apt-get autoremove sudo apt-get autoclean sudo cp -R /var/lib/mysql /var/lib/mysql2 sudo rm -rf /var/lib/mysql systemctl reboot
и начинай чинить пакетную систему — apt-get dist-upgrade.
Сделал, скачивает 90мб и устанавливает, ppa проверю, но вроде не было. А дальше, что?
AntonyRF ★★★
( 17.05.18 13:55:11 MSK ) автор топика
Ответ на: комментарий от AntonyRF 17.05.18 13:55:11 MSK

А дальше у тебя будет рабочая 18.04 без левых пакетов и можно будет уже ставить то, что хотел. Только в убунте разве не mariadb сейчас?
redgremlin ★★★★★
( 17.05.18 13:58:55 MSK )
Ответ на: комментарий от redgremlin 17.05.18 13:58:55 MSK

UPD: В /etc/apt/source.list всё нормально?
deb http://archive.ubuntu.com/ubuntu cosmic main universe deb-src http://archive.ubuntu.com/ubuntu cosmic main universe deb http://security.ubuntu.com/ubuntu cosmic-security main universe deb-src http://security.ubuntu.com/ubuntu cosmic-security main universe deb http://archive.ubuntu.com/ubuntu cosmic-updates main universe deb-src http://archive.ubuntu.com/ubuntu cosmic-updates main universe
Да вот хз, gitlab был с mariadb, а nextcloud + wordpress с mysql-server
AntonyRF ★★★
( 17.05.18 14:00:17 MSK ) автор топика
Ответ на: комментарий от redgremlin 17.05.18 13:58:55 MSK

А дальше у тебя будет рабочая 18.04 без левых пакетов и можно будет уже ставить то, что хотел.
$ sudo apt-get install mysql-server Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Будут установлены следующие дополнительные пакеты: libaio1 libevent-core-2.1-6 libhtml-template-perl mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7 mysql-server-core-5.7 Предлагаемые пакеты: libipc-sharedcache-perl mailx tinyca НОВЫЕ пакеты, которые будут установлены: libaio1 libevent-core-2.1-6 libhtml-template-perl mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.7 mysql-server-core-5.7 Обновлено 0 пакетов, установлено 9 новых пакетов, для удаления отмечено 0 пакето в, и 0 пакетов не обновлено. Необходимо скачать 0 B/20,4 MB архивов. После данной операции, объём занятого дискового пространства возрастёт на 160 MB . Хотите продолжить? [Д/н] y Предварительная настройка пакетов . Выбор ранее не выбранного пакета mysql-common. (Чтение базы данных … на данный момент установлено 220138 файлов и каталогов.) Подготовка к распаковке …/0-mysql-common_5.8+1.0.4_all.deb … Распаковывается mysql-common (5.8+1.0.4) … Выбор ранее не выбранного пакета libaio1:amd64. Подготовка к распаковке …/1-libaio1_0.3.110-5_amd64.deb … Распаковывается libaio1:amd64 (0.3.110-5) … Выбор ранее не выбранного пакета mysql-client-core-5.7. Подготовка к распаковке …/2-mysql-client-core-5.7_5.7.22-0ubuntu18.04.1_amd64.de b … Распаковывается mysql-client-core-5.7 (5.7.22-0ubuntu18.04.1) … Выбор ранее не выбранного пакета mysql-client-5.7. Подготовка к распаковке …/3-mysql-client-5.7_5.7.22-0ubuntu18.04.1_amd64.deb … Распаковывается mysql-client-5.7 (5.7.22-0ubuntu18.04.1) … Выбор ранее не выбранного пакета mysql-server-core-5.7. Подготовка к распаковке …/4-mysql-server-core-5.7_5.7.22-0ubuntu18.04.1_amd64.de b … Распаковывается mysql-server-core-5.7 (5.7.22-0ubuntu18.04.1) … Выбор ранее не выбранного пакета libevent-core-2.1-6:amd64. Подготовка к распаковке …/5-libevent-core-2.1-6_2.1.8-stable-4build1_amd64.deb … Распаковывается libevent-core-2.1-6:amd64 (2.1.8-stable-4build1) … Настраивается пакет mysql-common (5.8+1.0.4) … update-alternatives: используется /etc/mysql/my.cnf.fallback для предоставления /etc/mysql/my.cnf (my.cnf) в автоматическом режиме (Чтение базы данных … на данный момент установлено 220305 файлов и каталогов.) Подготовка к распаковке …/mysql-server-5.7_5.7.22-0ubuntu18.04.1_amd64.deb … Failed to stop mysql.service: Unit mysql.service not loaded. invoke-rc.d: initscript mysql, action "stop" failed. invoke-rc.d returned 5 There is a MySQL server running, but we failed in our attempts to stop it. Stop it yourself and try again! dpkg: ошибка при обработке архива /var/cache/apt/archives/mysql-server-5.7_5.7.2 2-0ubuntu18.04.1_amd64.deb (--unpack): new mysql-server-5.7 package pre-installation script subprocess returned error exit status 1 Выбор ранее не выбранного пакета libhtml-template-perl. Подготовка к распаковке …/libhtml-template-perl_2.97-1_all.deb … Распаковывается libhtml-template-perl (2.97-1) … Выбор ранее не выбранного пакета mysql-server. Подготовка к распаковке …/mysql-server_5.7.22-0ubuntu18.04.1_all.deb … Распаковывается mysql-server (5.7.22-0ubuntu18.04.1) … При обработке следующих пакетов произошли ошибки: /var/cache/apt/archives/mysql-server-5.7_5.7.22-0ubuntu18.04.1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Как установить и настроить SSH в Ubuntu 22.04
OpenBSD Secure Shell или сокращённо OpenSSH – это инструмент, который используется для защиты удаленного подключения между хостом и клиентом по протоколу SSH. Его задачей является перехват соединения и атак, а также шифрование сетевого трафика с использованием различных методов аутентификации. Из статьи вы узнаете, как установить сервер OpenSSH в Ubuntu 22.04 и включить его для удаленного сетевого взаимодействия.
Установка
Пошагово рассмотрим, как выполнить установку сервера и включить его:
Шаг 1: Обновление системы
Для начала нужно открыть терминал Ubuntu 22.04. Это можно сделать нажатием клавиш «CTRL+ALT+T». Убедитесь, что ваша система обновлена до версии 22.04:
$ sudo apt update && sudo apt upgrade
Шаг 2: Установка OpenSSH
По умолчанию OpenSSH не установлен в системе. Чтобы начать процесс инсталляции, запустите эту команду:
$ sudo apt install openssh-server
Нижеследующие выводные данные показывают, что OpenSSH успешно установлен в систему Ubuntu 22.04:
Аренда облачного сервера для разработки, хостинга, обученияПодробнее
Шаг 3: Включение OpenSSH
После успешной установки OpenSSH его необходимо включить в Ubuntu 22.04. Это можно сделать с помощью следующей команды:
$ sudo systemctl enable —now ssh
Шаг 4: Оценка статуса OpenSSH
Чтобы убедиться, что OpenSSH работает правильно и никаких проблем нет, нужно ввести команду «systemctl»:
$ sudo systemctl status ssh
Выводные данные показывают, что OpenSSH в настоящее время активен и корректно работает в системе Ubuntu 22.04:
Шаг 5: Подключение к SSH-серверу
После установки и включения OpenSSH можно подключить свою систему к другой удаленной системе, компьютеру или серверу. Но для начала нужно убедиться, что в этой удалённой системе OpenSSH также установлен и включен.
Перед подключением к серверу вам необходимо иметь внутренний/внешний IP-адрес или имя хоста, или имя пользователя учетной записи, к которой вы хотите подключиться. После этого нужно ввести следующую команду:
Шаг 6: Отключение OpenSSH
Если вы больше не хотите использовать OpenSSH, его нужно отключить в целях безопасности. Это позволит избежать обнаружения вредоносными ботами. Чтобы отключить OpenSSH выполните следующую команду в терминале Ubuntu 22.04:
$ sudo systemctl disable ssh —now
Данная инструкция позволит вам успешно установить, включить и, при необходимости, отключить OpenSSH в Ubuntu 22.04.
Как установить и настроить SSH в Ubuntu: пошаговая инструкция
Установка и настройка SSH в системе Ubuntu необходима, если вы хотите получить доступ к своей системе дистанционно. Это актуально для работы с серверами на Linux или сетевым оборудованием. Мы написали для вас подробную инструкцию, чтобы упростить и ускорить этот процесс.
(1).jpg)
Что такое SSH
SSH (Secure Shell) — это протокол, обеспечивающий безопасный зашифрованный обмен данными между двумя компьютерами по незащищенной сети. Например, он нужен для использования облачных сервисов.
Его главное преимущество заключается в том, что он обеспечивает конфиденциальность, целостность и аутентификацию данных, передаваемых между клиентом и сервером. Путем использования криптографических методов, он защищает информацию от перехвата и вмешательства злоумышленников.
При использовании этого протокола для подключения к удаленному серверу, клиент и сервер взаимодействуют, обмениваясь ключами и проверяя подлинность друг друга. Это гарантирует, что только уполномоченные пользователи могут получить доступ к удаленной системе.
SSH обеспечивает множество возможностей для удаленного администрирования системы, включая командную строку, передачу файлов и туннелирование TCP-портов. Он широко используется во многих областях, включая управление серверами, разработку и отладку приложений, а также веб-хостинг.
Другим преимуществом SSH является его переносимость. Протокол SSH может работать на разных операционных системах, включая Linux, macOS и Windows. Это делает его универсальным и гибким средством для удаленного доступа, независимо от того, на какой платформе работает сервер.
На сегодняшний день SSH остаётся одним из основных протоколов для обмена информацией между удаленными серверами и клиентами, гарантируя безопасность и конфиденциальность данных.
(4).png)
Инструкция: установка SSH в Ubuntu
Установка в Ubuntu выполняется в несколько этапов.
Прежде всего, убедитесь, что машина, к которой вы хотите подключиться, обновлена до последней версии Ubuntu. После того как все обновления установлены, откройте окно терминала.
Затем обновите и синхронизируйте пакеты.
sudo apt update && sudo apt upgrade
Необходимо установить OpenSSH, так как его по умолчанию в системе нет.
sudo apt install openssh-server
Согласитесь на все предложения системы.
Служба готова к работе, остаётся её только подключить.
sudo systemctl enable —now ssh
В данном примере «—now» – это ключ, который помогает запустить программу, добавив её в автозагрузку.
sudo systemctl status ssh
Система выдаст сообщение, где должен присутствовать статус «active (running)». Это значит, всё сделали правильно, служба стала активной.
При необходимости её можно отключить и убрать из автозагрузки.
sudo systemctl disable ssh
- Настройка брандмауэра
Использование SSH может представлять определенные риски без должной настройки брандмауэра.
Брандмауэр — это программное или аппаратное устройство, которое контролирует трафик между вашей локальной сетью и внешними сетями. Его основная задача — защитить ваш сервер от несанкционированного доступа и злонамеренных атак.
Неправильная конфигурация брандмауэра может оставить ваш сервер уязвимым для несанкционированных подключений. Правильная настройка позволит ограничить доступ к SSH только для доверенных IP-адресов или сетей, что снизит риск несанкционированного доступа. Некоторые злонамеренные атаки могут осуществляться путем массовых подключений к вашему серверу через SSH. Настройка брандмауэра помогает ограничить количество одновременных подключений, предотвратив такие атаки.
Итак, для начала нужно проверить состояние брандмауэра несмотря на то, что во время установки выполняется настройка файрвола. Тестирование должно быть проведено, чтобы обеспечить бесперебойную работу.
В нашем примере мы используем интерфейс UFW, поэтому вводим соответствующую команду.
sudo ufw status
Система выдаст отчёт, демонстрируя разрешения для трафика по протоколу SSH. Если Он всё же запрещён, вводим следующее.
sudo ufw allow ssh
- Подключение к серверу
Чтобы подключиться, нужно помнить IP-адрес или доменное имя.
Выбирайте любой из двух вариантов.
- ssh имя_пользователя@IP_адрес
- ssh имя_пользователя@домен
Будьте внимательны: на обоих устройствах (клиенте и сервере) должен работать SSH. Для удобства можете заказать хостинг с Ubuntu https://www.nic.ru/catalog/hosting/vds-vps/. Он характеризуется надежностью и безопасностью, обеспечивая защиту от уязвимостей и атак. Пользователи получают широкий спектр инструментов и приложений для разработки сайтов, приложений, что гарантирует их стабильную и эффективную работу.
(4).png)
- Настройка конфигурации SSH
Настройка конфигурации SSH нужна для обеспечения дополнительной безопасности при удаленном доступе и связи. У пользователя есть возможность изменить порт или задать аутентификацию путем создания новой учетной записи пользователя с собственной парой ключей SSH.
Все настройки хранятся в конфигурационном файле sshd_config, путь до него – /etc/ssh. Рекомендуем предварительно сделать резервную копию, чтобы не потерять исходную информацию.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.initial
Теперь откройте файл в текстовом редакторе.
sudo nano /etc/ssh/sshd_config
Желательно запретить вход суперпользователей. В строке PermitRootLogin поставьте значение No. Замените в файле стандартный порт на любой другой из диапазона 49152 — 65535. Чтобы задать аутентификацию по ключу, раскомментируйте строку «PubkeyAuthentication», установив значение «Yes».
обеспечивают уровень шифрования и аутентификации в компьютерных сетях, позволяя пользователям безопасно общаться через незащищенную сеть. Они представляют собой учётную запись доступа, которая может использоваться для аутентификации на сервере или в протоколе SSH. Когда пользователь пытается подключиться к сети, используя свои персональные учетные данные SSH, система проверяет соответствие его личности паре открытых и закрытых ключей, прежде чем предоставить ему доступ к системе или сети.
Такие меры безопасности повышают уровень информационной безопасности, что значительно усложняет задачу злоумышленников по незамеченному проникновению в систему по сравнению с традиционными методами входа, использующими пароли в открытом виде, передаваемые по сети. Кроме того, использование методов аутентификации на основе SSH-ключей вместо парольных значительно упрощает работу пользователей, которым необходим частый быстрый доступ к важным системам без необходимости набирать длинные пароли при каждой попытке входа. Также SSH-ключи значительно упрощают административные задачи, связанные с управлением пользователями, по сравнению с ручным отслеживанием паролей в разных системах, поскольку изменения необходимо вносить только один раз после успешной аутентификации.
(1).jpg)
Рассмотрим ещё несколько параметров конфигурационного файла.
- UseDNS проверяет соответствие имени хоста с его IP -адресом.
- PermitEmptyPasswords разрешает или запрещает использование пустых паролей.
- MaxAuthTries устанавливает число неудачных попыток удаленного подключения к серверу.
- AllowUsers и AllowGroups – это списки пользователей и групп, у которых есть доступ к серверу. Их перечисляют через запятую.
- Login GraceTime задаёт время для авторизации. Например, 3m – это 3 минуты.
- ClientAliveInterval задаёт время для бездействия пользователя, по истечении которого происходит отключение сеанса.
Внесите нужные изменения, сохраните файл и закройте его. Затем выполните перезагрузку.
sudo systemctl restart ssh
Если изменили порт, то при подключении его нужно указать в таком формате.
ssh -p номер_порта имя_пользователя@IP_адрес
Или так, если используете домен.
ssh -p номер_порта имя_пользователя@домен
И ещё один полезный совет напоследок. Если хотите обеспечить максимальную безопасность и стабильность онлайн-активов, выбирайте надёжный хостинг для своих проектов. Сейчас возможен перенос сайта в RU-CENTER за 1 рубль https://www.nic.ru/info/master-transfer/. При этом количество переносимых сайтов не ограничено.
Подведём итоги
Если вы успешно выполнили все приведенные выше инструкции, значит реализовали безопасное shell-соединение в системе Ubuntu. Теперь у вас безопасный удаленный доступ к серверу или облаку с любого другого компьютера с помощью.
Как установить Ubuntu на VDS

Как правило, на хостингах установить Ubuntu или любую другую операционную систему можно при конфигурации сервера. Это удобно и занимает буквально пару минут. Если автоматической установки нет, то можно поставить ОС в ручном режиме.
Автоматическая инсталляция Ubuntu
Покажу, как работает автоматическая установка, на примере VDS от Timeweb. Здесь все максимально просто:

- Заходим в панель управления сервера.
- Открываем раздел «Список VDS».
- Нажимаем на кнопку «Создать».
- Вписываем любое имя и комментарий (опционально).
- На втором шаге выбираем программное обеспечение. В левом столбце представлены операционные системы, доступные для инсталляции. Выбираем стабильную версию Убунту — 18.04.
- Если нужно дополнительное ПО — например, панель управления или набор LAMP — отмечаем его в правом столбце.
- Выбираем подходящую конфигурацию.
- Включаем SSH и защиту от DDoS-атак (опционально).
- Нажимаем на кнопку «Создать».
После завершения установки на почту придет письмо с данными для подключения к VDS. Вся процедура занимает не больше 5 минут.
Если у вас уже есть сервер без операционной системы или с другой ОС, то можно его переустановить. Этот вариант не подходит, если на VDS размещены файлы. Системный диск будет полностью очищен, вы потеряете все данные.
Например, у меня есть VDS с CentOS. Я хочу поставить на него Ubuntu 18.04.
- В панели управления Timeweb открываем раздел «Список VDS».
- Выбираем сервер и переходим на вкладку «Система».
- Открываем вкладку «Программное обеспечение» и нажимаем на кнопку «Переустановить».
В панели управления откроется то же окно, что и при создании новой виртуальной машины. В левом столбце мы можем выбрать операционную систему, в правом — дополнительное ПО, если оно нам требуется.
После завершения инсталляции на почту придет письмо с информацией об успешной переустановке операционной системы.
Безболезненный перенос сайта на VDS Timeweb и много бонусов
Переезжай на VDS Timeweb! Бесплатно перенесем сайт, зачислим на баланс остаток средств у прежнего хостера и утроим первый платеж. И еще пачка бонусов по кнопке ниже.
Ручная инсталляция Ubuntu с помощью installimage
Прежде чем инсталлировать Linux Ubuntu, переустановите сервер без шаблона, — на нем не должно быть ни другой операционной системы, ни дополнительного ПО. Затем зайдите в настройки VDS и выберите тип контроллера Virtio для SSD/HDD дисков, а также сетевую карту Virtio Nic. Это необязательные настройки, но они помогут улучшить производительность сервера.
Следующий шаг — загрузка сервера в Linux Rescue. Для этого сначала нужно включить VNC-доступ. Сделать это можно в панели управления VDS. Сервер должен быть запущен, наша задача — включить VNC-консоль.
После включения запускаем VNC-консоль и перезагружаем VDS с помощью сочетания Alt+Ctrl+Delete или любого другого способа. В начале загрузки нажимаем на клавишу F12, чтобы перейти в boot menu.
В boot menu выбираем из списка iPXE, нажав на клавишу с соответствующей цифрой — обычно это 5 или 6.
Появится новое окно, в котором нужно ввести букву r и нажать на клавишу Enter. Эта команда запускает Linux Rescue.

После загрузки появится предложение ввести логин. В качестве пароля используем пароль от VNC-консоли. Узнать его можно в панели управления VDS в данных для доступа через VNС.
Теперь можно устанавливать ОС:
- Выполняем команду installimage.
- В появившемся окне выбираем нужную операционную систему — в нашем случае это Ubuntu.
- Выбираем версию и разрядность.
- На экране появится окно настройки конфигурации. Можно оставить ее стандартной и продолжить установку, нажав на клавишу F10.
- Подтверждаем удаление всех данных при инсталляции ОС.
- Ждем завершения процесса.
После успешной установки нужно перезагрузить сервер. Для этого можно использовать команду reboot или нажать на сочетание клавиш Alt+Ctrl+Delete. Перезагрузка завершит работу режима Linux Rescue, после чего вы загрузитесь в установленной Ubuntu.
В операционной системе будет тот же пароль, который вы использовали в Rescue перед запуском installimage.
Ручная установка Ubuntu из ISO-образа
Отдельные хостеры предлагают установить операционную систему из ISO-образа. Скачать файл можно на официальном сайте Ubuntu. Для VDS подходит Server install image — это установочный образ без графического пользовательского интерфейса.
Посмотрим порядок установки Ubuntu на примере панели VMmanager.

- В меню слева открываем раздел «Управление» — «ISO-образы».
- Нажимаем на кнопку «Загрузить» и указываем путь к файлу с установочным образом.
- Переходим в раздел «Управление» — «Виртуальные машины».
- Выбираем сервер и нажимаем на кнопку «Стоп», чтобы остановить его работу.
- Нажимаем на кнопку «Диски» и подключаем образ Ubuntu.
- Указываем имя образа и порядок загрузки — «В начало».
- Возвращаемся в раздел «Управление» — «Виртуальные машины» и запускаем отключенный ранее VDS.
- Подключаемся к серверу через VNC-консоль.
На экране появится экран мастера инсталляции Убунту. Выбираем режим «Install Ubuntu» и устанавливаем ОС как обычно.
Порядок ручной установки может отличаться в зависимости от хостера. Поэтому лучше выбирать хостинг с автоматической инсталляцией при создании нового VDS.
Первоначальная настройка системы
Первый шаг — обновление ОС. Для этого подключаемся к серверу через SSH или запускаем консоль в панели управления и выполняем следующие команды:
sudo apt update sudo apt list --upgradable sudo apt upgrade
После успешного обновления перезагружаем сервер:
sudo reboot
Следующий шаг — настройка времени. При инсталляции серверной версии Убунту невозможно выбрать региональные параметры. Но это можно сделать через консоль.
Проверяем, какое время используется сейчас:
date
Смотрим доступные часовые пояса:
timedatectl list-timezones
Выбираем подходящую зону:
sudo timedatectl set-timezone Europe/Dublin // Установлено дублинское время
Чтобы время автоматически синхронизировалось через интернет, устанавливаем NTP-сервер и добавляем его в список автозагрузки.
sudo apt install ntp sudo systemctl enable ntp
Чтобы исключить несанкционированный доступ к нашей системе, настроим подключение через SSH — в частности, поменяем номер порта. По умолчанию используется порт 22. Установим другое значение.
Открываем файл конфигурации SSH:
sudo vi /etc/ssh/sshd_config
Меняем значение строки «Port» — вместо 22 вписываем другое число, например, 54255.
Изначально хостер предоставляет логин и пароль для подключения через SSH. Но пользоваться паролем небезопасно, так как его можно подобрать. Выход из ситуации простой — сгенерировать SSH-ключи.
Для безопасности также нужно настроить брандмауэр, чтобы никто не мог получить доступ к серверу. По умолчанию запрещены все службы, в том числе SSH. Если вы не меняли номер порта, то разрешите ее следующей командой:
sudo ufw allow OpenSSH
Если вы изменили в конфигурации номер порта, то укажите новое значение:
sudo ufw allow 54255/tcp
Следующий шаг — включение ufw. Это надстройка, которая используется для управления брандмауэром. Выполняем команду:
sudo ufw enable
Для подтверждения операции вводим букву «Y». Брандмауэр запустится и добавится в автозагрузку. Проверить его состояние можно следующей командой:
sudo ufw status
Это лишь базовые настройки Ubuntu после установки. Чтобы превратить систему в веб-сервер, необходимо поставить другое программное обеспечение. Его состав зависит от того, какие задачи вы будете решать.