- Установка SSH-сервера на Ubuntu 18.04 LTS
- Файл конфигурации
- Аутентификация по ключу
- Создание ключей
- Как установить и настроить SSH в Ubuntu 22.04
- Установка
- Шаг 1: Обновление системы
- Шаг 2: Установка OpenSSH
- Шаг 3: Включение OpenSSH
- Шаг 4: Оценка статуса OpenSSH
- Шаг 5: Подключение к SSH-серверу
- Шаг 6: Отключение OpenSSH
Установка SSH-сервера на Ubuntu 18.04 LTS
В основном, SSH реализован в виде двух приложений — SSH-сервера и SSH-клиента. В Ubuntu используется свободная реализация клиента и сервера SSH — OpenSSH. При подключении клиент проходит процедуру авторизации у сервера и между ними устанавливается зашифрованное соединение. OpenSSH сервер может работать как с протоколом ssh1, так и с протоколом ssh2. Протокол ssh1 считается небезопасным, поэтому его использование не рекомендуется.
$ sudo apt install openssh-server
При установке SSH-сервер автоматически прописывается в автозагрузку. Управлять его запуском, остановкой или перезапуском можно с помощью команд:
$ sudo systemctl start|stop|restart ssh
Разрешить или запретить запуск службы при загрузке системы:
$ sudo systemctl enable|disable ssh
Проверить, что служба ssh.service работает:
Для службы ssh.service есть алиас sshd.service , что может вызывать некоторые проблемы. Например, удалим службу sshd.service из автозагрузки, используя псевдоним:
$ sudo systemctl disable sshd Removed /etc/systemd/system/multi-user.target.wants/ssh.service. Removed /etc/systemd/system/sshd.service.
А после этого попробуем добавить обратно:
$ sudo systemctl enable sshd Failed to enable unit: Unit file sshd.service does not exist.
Но это легко исправить, обратившись по имени:
$ sudo systemctl enable ssh Synchronizing state of ssh.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable ssh Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service.
Собственно, теперь уже можно подключаться по ssh:
При первом подключении будет выдано предупреждение, что подлинность хоста, к которому мы подключаемся, не может быть установлена:
The authenticity of host 'ubuntu-wordpress (192.168.110.12)' can't be established. ECDSA key fingerprint is SHA256:/HFkWvnH6OhtcZlcyz0EEHisiIP84WlpFy25uZ3B1UA. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'ubuntu-wordpress,192.168.110.12' (ECDSA) to the list of known hosts.
После нашего согласия все-таки подключиться ( yes ), ключ хоста будет добавлен в файл ~/.ssh/known_hosts . И при следующих подключениях этого предупреждения больше не будет.
Файл конфигурации
Все настройки сервера SSH хранятся в конфигурационном файле sshd_config , который находится в директории /etc/ssh/ . Перед тем, как вносить изменения, создадим резервную копию:
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.default
$ sudo nano /etc/ssh/sshd_config
Во-первых, желательно сменить порт, на котором работает ssh-сервер:
Во-вторых, запретить вход от имени суперпользователя:
В-третьих, запретить вход всем, кроме доверенных пользователей:
AllowUsers evgeniy sergey
Настоятельно рекомендуется отключить аутентификацию по паролю (после настройки аутентификации по ключу):
PasswordAuthentication no
Если аутентификация по паролю все-таки нужна — запрещаем авторизацию с пустым паролем:
PasswordAuthentication yes PermitEmptyPasswords no
После всех настроек перезапускаем ssh-сервер (текущая сессия при этом не обрывается):
$ sudo systemctl restart ssh
Аутентификация по ключу
Наиболее предпочтительным способом авторизации является аутентификация на основе SSH2 RSA-ключей. При таком способе пользователь генерирует на своей стороне пару ключей, из которой один ключ является секретным, а другой публичным. Публичный ключ копируется на сервер и служит для проверки идентичности пользователя.
Создание ключей
Для генерации ключей на клиенте предназначена команда:
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/Evgeniy/.ssh/id_rsa): ~/.ssh/rsa-vm-wp Enter passphrase (empty for no passphrase): Enter Enter same passphrase again: Enter Your identification has been saved in C:/Users/Evgeniy/.ssh/rsa-vm-wp. Your public key has been saved in C:/Users/Evgeniy/.ssh/rsa-vm-wp.pub. The key fingerprint is: SHA256:qreJu/Sto0HZ3e9cJBcyKJl0Fb/cOBL9l6ozwtbdPAI Evgeniy@TKMCOMP The key's randomart image is: +---[RSA 2048]----+ | . ..o. | | . + . o | | + . + + | | o . o = *.| | o . S . o B.+| | . . E =. | | o . . . +.+ | | . =oo + *.+ + | | *==+o ..= . .| +----[SHA256]-----+
Необходимо ввести имя файла ключа (в моем случае ~/.ssh/rsa-vm-wp ), пароль для доступа к ключу (можно оставить пустым, нажав Enter).
Ключи готовы, копируем публичный ключ на сервер:
$ ssh-copy-id -p 2222 -i ~/.ssh/rsa-vm-wp.pub evgeniy@192.168.110.12 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "rsa-vm-wp.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys evgeniy@192.168.110.12's password: пароль
Включаем на сервере аутентификацию по публичному ключу:
$ sudo nano /etc/ssh/sshd_config
И отключаем возможность аутентификации по паролю:
PasswordAuthentication no
Перезагружаем ssh-службу после изменения настроек и пробуем подключиться к серверу по ключу:
$ sudo systemctl restart ssh
$ ssh -p 2222 -i ~/.ssh/rsa-vm-wp evgeniy@192.168.110.12 Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 5.0.0-37-generic x86_64)
И последний момент — добавляем новую запись в файл ~/.ssh/config :
Host vm-wp User evgeniy HostName 192.168.110.12 Port 2222 IdentityFile ~/.ssh/rsa-vm-wp
Теперь к серверу можно подключаться так:
$ ssh vm-wp Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 5.0.0-37-generic x86_64)
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- 1С:Предприятие (31)
- API (29)
- Bash (43)
- CLI (99)
- CMS (139)
- CSS (50)
- Frontend (75)
- HTML (66)
- JavaScript (150)
- Laravel (72)
- Linux (143)
- MySQL (76)
- PHP (125)
- React.js (66)
- SSH (27)
- Ubuntu (66)
- Web-разработка (509)
- WordPress (73)
- Yii2 (69)
- БазаДанных (95)
- Битрикс (66)
- Блог (29)
- Верстка (43)
- ИнтернетМагаз… (84)
- КаталогТоваров (87)
- Класс (30)
- Клиент (27)
- Ключ (28)
- Команда (68)
- Компонент (60)
- Конфигурация (59)
- Корзина (32)
- ЛокальнаяСеть (28)
- Модуль (34)
- Навигация (31)
- Настройка (137)
- ПанельУправле… (29)
- Плагин (33)
- Пользователь (26)
- Практика (99)
- Сервер (74)
- Событие (27)
- Теория (104)
- Установка (65)
- Файл (47)
- Форма (58)
- Фреймворк (192)
- Функция (36)
- ШаблонСайта (68)
Как установить и настроить 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.