Из этой стать Вы узнаете, как включить ssh в Ubuntu и других Linux, используя OpenSSH. Вы также узнаете, как настроить сервер OpenSSH для различных целей.
Если вы хотите включить SSH на рабочем столе Ubuntu , используйте следующую команду:
sudo apt installOpenSSH-client
если вы хотите включить SSH на сервере Ubuntu , используйте следующую команду:
sudo apt installOpenSSH-сервер
Прочитайте остальную часть статьи для более подробной информации.
Каждый системный администратор и разработчик испытывает потребность в удаленном входе в систему для более быстрого администрирования и отладки.
В ИТ-среде почти все задачи системный администратор выполняются через удаленный вход.
И не просто системным администраторам, даже обычным пользователям иногда требуется удаленный вход на серверы.
Итак, как вы можете удаленно подключиться к системе Linux? Существует несколько инструментов для удаленного входа, но когда дело доходит до Linux, SSH является наиболее популярным выбором.
SSH , сокращение от secure shell, – это протокол, который позволяет безопасно выполнять удаленный вход с одного компьютера на другой.
Теперь вопрос в том, как включить SSH в Ubuntu, Debian или любых других дистрибутивах Linux, которые вы используете?
Помните, что SSH – это всего лишь протокол, и этот протокол может быть реализован с помощью ряда инструментов, таких как lsh , Dropbear и т. д., Но наиболее широко используемый инструмент для SSH – это программное обеспечение с открытым исходным кодом OpenSSH.
В этой статье вы увидите, как установить OpenSSH и настроить его для включения SSH в дистрибутивах Linux на основе Ubuntu и Debian. Упомянутые шаги применимы как к настольной, так и к серверной версиям Ubuntu/Debian.
Включить SSH в Ubuntu и Debian с помощью OpenSSH
Как мы упоминали ранее, OpenSSH – это программное обеспечение для входа в SSH. Он прослушивает порт, проверяет подлинность входящих пользователей и создает новую оболочку для удаленного пользователя.
Чтобы SSH работал, на удаленной системе должен быть запущен ssh-сервер, на который пользователь должен войти. Кроме того, в локальной системе должен быть ssh-клиент, с которого пользователь будет входить в удаленную систему.
OpenSSH обеспечивает обе эти функции. Там является OpenSSH-клиент для конечных пользователей и OpenSSH-сервер для удаленных серверов.
Перед установкой OpenSSH вы должны проверить, установлен ли и работает ли SSH в вашей системе.
Проверьте, включен ли SSH и работает ли он
Скорее всего, SSH уже включен в вашей системе. Для проверки выполните следующую команду на удаленном сервере или в системе конечного пользователя:
ps -aux | grep ssh
Если SSH включен, вы должны увидеть информацию об агенте SSH на рабочем столе:
ps -aux | grep ssh andreyex 1736 0.0 0.0 11304 36 ? Ss 08:18 0:00 /usr/bin/ssh-agent /usr/bin/im-launch env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu andreyex 10462 0.0 0.0 21536 1044 pts/0 S+ 10:15 0:00 grep --color=auto ssh
На сервере вы должны увидеть информацию о работающем демоне SSH:
ps -aux | grep ssh root 920 0.0 0.2 72296 6028 ? Ss 2018 0:17 /usr/sbin/sshd -D root 22708 0.0 0.3 108172 7364 ? Ss 05:13 0:00 sshd: root@pts/0 root 22873 0.0 0.0 14856 1068 pts/0 S+ 05:14 0:00 grep --color=auto ssh
Если вы не видите вывод, аналогичный приведенному выше, в вашей системе не работает SSH. Пришло время установить OpenSSH.
Установка OpenSSH в Ubuntu и Debian
Небольшая заметка о OpenSSH-клиент и OpenSSH-сервер перед установкой OpenSSH.
openssh-client: это пакет, который вам нужен, если вы хотите подключиться к удаленной системе Linux с помощью SSH. Это то, что вам нужно как конечный пользователь/пользователь рабочего стола.
openssh-server: это пакет, который вам нужен, если вы хотите разрешить удаленный вход в систему через SSH. Это то, что вам нужно на вашем сервере Linux.
Обратите внимание, что установка openssh-сервера также позволяет удаленно входить в другие системы через SSH. Другими словами, openssh-сервер состоит из openssh-клиента. Но если вы просто конечный пользователь с рабочим столом Linux, (в основном) нет необходимости устанавливать openssh-сервер и разрешать удаленный вход в вашу систему.
Теперь, когда вы знаете разницу между ними, пришло время посмотреть, как их установить.
Обратите внимание, что для установки OpenSSH в Ubuntu или Debian вам необходимо иметь права sudo / root. Если у вас нет такого разрешения, обратитесь к системному администратору. Вы также можете прочитать эту статью о создании пользователей sudo .
Установка OpenSSH для настольных компьютеров или конечных пользователей
Если вы просто хотите подключиться к другим удаленным системам через SSH, вам следует установить пакет openssh-client с помощью следующей команды:
sudo apt update sudo apt install openssh-client
Установка OpenSSH для серверов
Если вы настраиваете сервер Ubuntu/Debian, следует установить пакет openssh-server, чтобы другие удаленные пользователи могли подключаться к вашей системе.
sudo apt update sudo apt install openssh-server
После того, как вы установили OpenSSH-сервер, пришло время узнать, как настроить и настроить его в соответствии с вашими потребностями.
Управление демоном SSH SSHD (для серверов)
Вы будете иметь имя демона SSH SSHD установлен и включен для автоматической перезагрузки по умолчанию. systemctlэто один из нескольких способов управления демоном SSH.
Запустите сервис sshd
Услугу можно запустить, просто выполнив:
sudo systemctl start sshd
Остановите службу sshd
Служба может быть остановлена аналогичным образом:
sudo systemctl stop sshd
Перезапустите сервис sshd
Если вы хотите SSHD служба должна быть остановлена и запущена (обычно требуется в случае изменения конфигурации на SSHD сервис), вы можете просто использовать эту команду:
sudo systemctl restart sshd
Включить SSH в Ubuntu автоматически при каждой загрузке
Некоторые службы необходимо запускать при перезагрузке, чтобы избежать ручного взаимодействия и если оно используется очень часто. Это очень важно для таких служб, как Apache, mongod, mysqld, sshd в серверах.
Если вы хотите включить такой автоматический запуск для sshd, используйте:
sudo systemctl enable sshd
Отключить автозапуск SSH при перезагрузке
Если вы не хотите, чтобы sshd запускался автоматически при перезагрузке, используйте
sudo systemctl disable sshd
Вышеупомянутые четыре совета необходимы всякий раз, когда вы вносите изменения в службу ssh, например, меняете порт. Вы можете использовать вышеупомянутые команды для управления любым сервисом (например, mysqld, mongod, apache) с именем сервиса sshd, замененным целевым сервисом.
Настройка SSH (для серверов)
На данный момент наша служба ssh будет прослушивать порт 22 и готова аутентифицировать любого пользователя (в том числе root) после сохранения ключа.
Если вы хотите изменить любую из конфигураций, таких как порт, для прослушивания соединений, вы можете отредактировать файл «/etc/ssh/sshd_config», добавив, удалив, прокомментировав или раскомментировав строки, а затем перезапустив службу sshd.
Есть много вариантов для настройки. Мы создали список конфигураций, которые, скорее всего, понадобятся.
1. Измените порт SSH по умолчанию
Обычно служба sshd прослушивает TCP-порт 22. Если вы хотите изменить его на какой-либо другой порт, скажем, 5678, то добавьте/отредактируйте следующую строку в файле /etc/ssh/ssh_config.
Port 5678
Перезапустите службу, чтобы увидеть изменения немедленно.
2. Отключите root-вход через SSH
Позволять корневым пользователям проходить аутентификацию по ssh не очень хорошая идея из соображений безопасности. Пользователи sudo могут входить в систему удаленно, но не root, так как root находится на вершине пищевой цепи безопасности.
Root можно отключить, добавив (если его еще нет) следующую строку и перезапустив службу.
PermitRootLogin no
Если строка уже присутствует, убедитесь, что она не закомментирована.
3. Разрешить аутентификацию на основе ключей SSH
Возможно, вы захотите разрешить аутентификацию на основе ключей ssh, чтобы конечному пользователю не приходилось постоянно вводить пароль. Для входа в удаленную систему достаточно просто использовать ssh user@ip.
Для этого вы должны настроить SSH, чтобы разрешить аутентификацию с открытым ключом:
PubkeyAuthentication yes
Если строка уже присутствует, убедитесь, что она не закомментирована.
Теперь, если вы хотите разрешить определенной системе вход в систему с помощью открытого ключа, вам нужно добавить этот открытый ключ конечного пользователя в файл .ssh/authorized_keys.
Вы можете создавать ключи ssh (открытый ключ и закрытый ключ) с помощью ssh-keygen . Чтобы узнать больше о key-gen, обратитесь к этому замечательному ресурсу.
Вы можете передать открытый ключ конечного пользователя на удаленный сервер любым удобным для вас способом. Вы можете использовать команду scp, если хотите, или просто получить ее через FTP. Это действительно зависит от вас.
Выше три наиболее необходимы, но если вы хотите изменить дальше, пожалуйста, обратитесь к странице руководства по sshd_config.
Мы думаем, что это достаточно хороший материал для чтения, чтобы узнать, как включить SSH в Ubuntu/Debian и как настроить SSH на вашем сервере для удаленного входа.
Если вы нашли эту статью полезной, поделитесь ею с друзьями. Если у вас есть предложения или комментарии или вы думаете, что я что-то упустил, не стесняйтесь оставлять комментарии ниже.