Назад в блог

Как использовать SSH для подключения к удаленному серверу в Ubuntu

Как использовать SSH для подключения к удаленному серверу в Ubuntu

Что такое SSH?

SSH означает Secure Shell (безопасная оболочка). С помощью SSH вы можете безопасно получать доступ к удаленным машинам, так как соединение шифруется. С помощью команды ssh в терминале Linux мы можем подключаться к удаленным серверам Linux и работать так, как будто это наш собственный компьютер. К концу этого руководства вы будете полностью понимать, как использовать SSH для подключения к удаленному серверу в Ubuntu.

Синтаксис

Синтаксис — это правило использования команды ssh. Вы можете изменять порядок параметров, но необходимо соблюдать определенный формат. Ниже приведен пример синтаксиса для использования команды ssh:

Доменное имя или IP-адрес, к которому вы хотите подключиться, — это remote_host, как показано в команде выше. Этот синтаксис предполагает, что ваше имя пользователя в удаленной системе совпадает с именем в локальной системе. Однако, если имена пользователей различаются, вы можете указать это с помощью следующей команды:

Вам потребуется подтвердить свою личность, введя пароль сразу после подключения к серверу. Введите команду exit, чтобы вернуться к локальному сеансу.

Как настроить SSH

Основной конфигурационный файл sshd в Ubuntu находится по адресу /etc/ssh/sshd_config. Если вы измените конфигурацию SSH, настройки сервера SSHD изменятся автоматически. Перед внесением любых изменений обязательно сделайте резервную копию текущей версии файла с помощью этой команды:

Используйте текстовый редактор, чтобы открыть его:

Большинство параметров в этом файле следует оставить без изменений. Однако есть несколько вещей, на которые стоит обратить внимание:

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

Объявление ключа хоста указывает, где находится глобальный ключ хоста:

Уровень логирования, который должен выполняться, указывается этими двумя элементами. Если у вас возникли проблемы с использованием SSH, отличный способ выявить проблему — увеличить уровень детализации логов:

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

Эти конфигурации параметров относятся к функциям перенаправления X11 (X11 forwarding). Таким образом, вы можете отображать графический интерфейс удаленной системы на локальной системе. Вы должны включить эту опцию на сервере при подключении с опцией -X к SSH-клиенту.

После внесения изменений сохраните файл и закройте его, нажав CTRL-X, затем Y и Enter. Если вы измените настройки в /etc/ssh/sshd_config, вам необходимо перезапустить сервер sshd, чтобы изменения вступили в силу:

Для систем с systemd, таких как Ubuntu 16.04 или Debian Jessie, используйте эту команду:

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

Как войти по SSH с помощью ключей? Входить в удаленную систему по паролю — это нормально. Однако лучше всего настроить аутентификацию на основе ключей.

Что такое аутентификация на основе ключей?

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

Как создать ключи SSH

Ключи SSH должны быть сгенерированы на компьютере, с которого вы хотите войти в систему. Обычно это ваш локальный компьютер. Введите в командную строку следующее:

Затем примите значения по умолчанию, нажав клавишу ENTER. Ключи будут сгенерированы в ~/.ssh/id_rsa.pub и ~/.ssh/id_rsa. Затем введите команду ниже, чтобы перейти в каталог .ssh:

Вот права доступа к файлам:

list files in .ssh folder

Как видите, только владелец может читать и записывать файл id_rsa. Поэтому вы должны хранить его в безопасности. Однако вы можете поделиться файлом id_rsa.pub и установить соответствующие права доступа для этого действия. Следующим шагом является перенос открытого ключа на сервер с использованием следующего синтаксиса:

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

Как отключить аутентификацию по паролю

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

Примечание: Перед тем как перейти к этому шагу, убедитесь, что вы установили открытый ключ на сервере. В противном случае вы будете заблокированы!

Откройте конфигурационный файл sshd с помощью этой команды:

Найдите и раскомментируйте строку проверки аутентификации по паролю, удалив символ # в начале. Затем вы можете изменить значение на “no”:

Параметры PubkeyAuthentication и ChallengeResponseAuthentication установлены по умолчанию и должны выглядеть следующим образом:

Вам не следует изменять эти две настройки. После внесения изменений сохраните файл и закройте его. Затем используйте команду ниже для перезапуска демона SSH:

Наконец, вы отключили аутентификацию по паролю, и доступ к вашему серверу теперь возможен только с помощью аутентификации по ключу SSH.

Заключение

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

Приятной работы!

 

author

Akshay Nagpal

Автор · CloudSigma

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

Комментарии

Комментариев пока нет. Будьте первым.