Как установить и использовать службу SSH в Ubuntu 24.04
В этом простом руководстве показано, как включить и настроить службу Secure Shell (SSH) в Ubuntu 24.04, чтобы вы могли удаленно входить в систему и безопасно передавать файлы в командной консоли.
Debian и Ubuntu используют OpenSSH (OpenBSD Secure Shell) для обеспечения безопасного канала оболочки для удаленного внесения изменений, передачи данных и выполнения других операций на сервере с клиента.
Служба SSH НЕ включена по умолчанию. И здесь я расскажу, как включить и настроить его в Ubuntu 24.04.
Шаг 1. Установите сервер OpenSSH
Сначала подключитесь к серверу Ubuntu или нажмите Ctrl+Alt+T
, чтобы открыть окно терминала на рабочем столе Ubuntu.
Когда терминал откроется, выполните команду для обновления кэша системных пакетов:
sudo apt update
Затем установите SSH-сервер с помощью команды:
sudo apt install ssh
По выбору вы можете использовать команду sudo apt install openssh-server
, которая сделает то же самое.
Шаг 2. Настройте порт прослушивания, аутентификацию и т. д.
Начиная с Ubuntu 22.10, OpenSSH по умолчанию настроен на использование активации сокета systemd. Это означает, что служба ssh НЕ будет запущена до тех пор, пока не будет получено входящее соединение.
Это может сэкономить как минимум 3 МБ памяти, что полезно при запуске нескольких экземпляров Ubuntu в виртуальных машинах или контейнерах LXD.
Из-за этого изменения изменения Port
, ListenAddress
и т. д. в /etc/ssh/sshd_config
НЕ работали. Вместо этого пользователю пришлось либо отредактировать файлы конфигурации в /etc/systemd/system/ssh.socket.d
, либо вернуться к предыдущему поведению, не активируемому сокетом.
В Ubuntu 24.04 пользователь снова может редактировать файл /etc/ssh/sshd_config
для настройки SSH. Единственное изменение — перезапуск сокета вместо ssh.service для применения изменений.
И, чтобы отредактировать файл, выполните команду:
sudo nano /etc/ssh/sshd_config
Когда файл откроется, удалите «#» в начале любой строки, которую вы хотите включить, а затем измените значение в соответствии с вашими потребностями. Например:
- Установите
Порт 12345
для прослушивания порта 12345 вместо 22 по умолчанию. - Установите IP-адрес прослушивания
ListenAddress 172.67.181.180
, если доступно более одного. По умолчанию все IP-адреса серверов разрешены для SSH-подключения. LoginGraceTime 30
— установить таймаут ожидания пароля 30 секунд.PermitRootLogin no
– отключить root-вход.MaxAuthTries 3
– максимальное количество ошибок аутентификации.PasswordAuthentication no
– отключить вход по паролю. В этом случае вам необходимо включить аутентификацию на основе ключей.
Дополнительную информацию см. в официальной документации SSH.
Шаг 3. Примените изменения конфигурации SSH-сервера
После внесения изменений нажмите Ctrl+S для сохранения и Ctrl+X для выхода из текстового редактора командной строки nano.
Затем, как уже упоминалось, перезапустите сокет, чтобы применить изменения:
sudo systemctl daemon-reload
sudo systemctl restart ssh.socket
В моем случае я меняю номер порта на 12345, который можно проверить, выполнив команду systemctl status ssh.socket
.
Шаг 4. Откройте порт прослушивания в брандмауэре.
Если вы изменили порт SSH и включили брандмауэр (брандмауэр НЕ включен по умолчанию в Ubuntu Desktop), запустите команду, чтобы разрешить новый порт:
sudo ufw allow 12345
Измените номер 12345 на свой. Затем проверьте, выполнив команду:
sudo ufw status verbose
Шаг 5. Используйте SSH для удаленного входа в систему или передачи данных
Наконец, вы можете запустить команду ssh для подключения к серверу удаления. Например:
ssh [email -p 22345
В команде:
ji
— это имя пользователя на удаленном сервере, с которым я пытаюсь войти. Замените на свой.192.168.0.107
— IP-адрес удаленного сервера. Замените его на свой.-p 22345
указывает порт. Измените номер или пропустите его, если используется порт по умолчанию 22.
Чтобы загрузить файл с локального на удаленный SSH-сервер, используйте команду, например:
scp -P 22345 ~/Downloads/librivox.zip [email :~/Documents
В этом случае он загрузит файл lirivox.zip
из моей локальной папки «Загрузки» в папку «Документы» удаленного сервера для ji
.
Чтобы загрузить файл с удаленного компьютера, выполните команду, например:
scp -P 22345 [email :~/Documents/librivox.zip ~/Downloads
Он загрузит файл lirivox.zip
из папки «Документы» удаленного ji в мою локальную папку «Загрузки».
Дополнительную информацию об использовании команды SSH см. в официальной документации.