Настройка SSH в CentOS 7

Содержание

SSH (secure shell) — протокол для сотворения шифрованного соединения меж клиентом и сервером. Благодаря этой технологии может осуществляться удаленное управление компом. Взаимодействие с утилитой происходит в терминале, а в операционную систему CentOS 7 она добавлена по дефлоту. Потому сейчас мы бы желали детально разглядеть стандартную функцию опции, которая будет полезна всем, кто собирается работать с SSH.

Настраиваем SSH в CentOS 7

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

Установка компонент и пуск сервера

Мы уже произнесли, что SSH по дефлоту добавлен в перечень системных библиотек CentOS 7, но время от времени по неким причинам нужные составляющие отсутствуют на компьютере. В таком случае их будет нужно добавить, а потом активировать работу сервера.

  1. Откройте «Терминал» и пропишите там команду
    sudo yum -y install openssh-server openssh-clients
    .

Подтвердите подлинность учетной записи суперпользователя, введя пароль. Учтите, что вводимые таким макаром знаки не показываются в строке.

Запустите проверку конфигурации командой
sudo chkconfig sshd on
.

Потом запустите сам сервис SSH, указав
service sshd start
.

Осталось только проверить, что задействованный по дефлоту порт открыт. Для этого используйте строчку
netstat -tulpn | grep :22
.

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

Редактирование конфигурационного файла

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

  1. Рекомендуем использовать редактор nano, установить который в систему поможет команда
    sudo yum install nano
    . По окончании установки запустите конфигурационный файл через
    sudo nano /etc/ssh/sshd_config
    .

Вы будете осведомлены со всеми доступными параметрами. Некие из их закомментированы, другими словами перед параметром стоит символ #. Соответственно, убирая этот знак, вы раскомментируете параметр, и он будет действителен. Вы сможете поменять стандартный порт, поменяв значение строчки «Port» на хоть какое другое. Не считая этого, рекомендуется установить 2-ой протокол, используя «Protocol 2». Тогда повысится уровень безопасности.

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

Выйти из редактора поможет композиция Ctrl + X.

Перезапустите сервис через
sudo service sshd restart
, чтоб внесенные конфигурации вступили в силу.

Потом сможете проверить статус SSH, чтоб убедиться в его работоспособности, через
service sshd status
.

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

Создание пары RSA-ключей

Криптографический метод RSA (аббревиатура от фамилий Rivest, Shamir и Adleman) употребляется обслуживанием SSH для сотворения пары ключей. Такое действие позволить очень обезопасить клиентскую и серверную часть при проведении соединений. Использовать придется обе цепи, чтоб сделать пару ключей.

  1. Для начала зайдите на клиентский компьютер и введите в консоли
    ssh-keygen
    .

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

Дальше создается парольная фраза. Она обеспечит защищенность от несанкционированного входа в систему. После сотворения пароля его будет нужно повторить.

На этом процедура генерации завершена. На дисплее вы увидите сам ключ и случайное изображение, присвоенное ему.

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

Копирование открытого ключа на сервер

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

Утилита ssh-copy-id

Копирование открытого ключа через утилиту ssh-copy-id — самый обычной способ. Но подойдет он исключительно в том случае, когда на компьютере находится этот самый инструмент. Вам же необходимо прописать всего одну команду

ssh-copy-id username@remote_host
, где username@remote_host — имя юзера и хост удаленного сервера.

Если соединение проводится 1-ый раз, на дисплее вы увидите сообщение подобного нрава:

The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? 

Оно обозначает, что сервер не находится в перечне надежных источников и будет задан вопрос, стоит проводить предстоящее подключение. Изберите вариант

yes
.

Осталось только ввести пароль от учетной записи сервера, и на этом процедура копирования через упомянутую утилиту будет удачно завершена.

Копирование открытого ключа по SSH

При отсутствии утилиты ssh-copy-id советуем использовать стандартные способности инструмента SSH, если, естественно, у вас имеется доступ к серверной учетной записи. Выгрузка ключей делается средством обыденного подключения, а конкретно:

  1. Команда cat позволит считать и сразу добавить ключ в файл на серверном компьютере. Для этого просто введите
    cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    , где username@remote_host — имя учетной записи и хоста удаленного компьютера. Учтите, что функция >> добавит ключ в конец файла, а не перезапишет его на сто процентов. Потому введенные ранее ключи тоже будут сохранены.

Для соединения введите парольную фразу.

Не забудьте перезагрузить сервер через
sudo service sshd restart
, чтоб обновились списки ключей.

Ручное копирование открытого ключа

Время от времени случаются ситуации, когда нереально использовать утилиту ssh-copy-id, также отсутствует доступ по паролю. Тогда копирование осуществляется вручную.

  1. Сначала узнайте этот ключ через уже знакомую команду cat, введя в консоли
    cat ~/.ssh/id_rsa.pub
    .

Скопируйте его содержимое в отдельный файл.

Подключитесь хоть каким комфортным способом к удаленному компу и сделайте каталог
mkdir -p ~/.ssh
. Команда ничего не сделает, если каталог уже существует.

Осталось только внести данные в файл «authorized_keys». Команда
echo public_key_string >> ~/.ssh/authorized_keys
добавит ключ в файл либо создаст поначалу файл, если он отсутствует. Заместо «public_key_string» необходимо воткнуть полученную ранее строчку с ключом.

На этом процедура копирования ключа удачно завершена. Благодаря этому сейчас доступна аутентификация к серверу методом ввода

ssh username@remote_host
. Но подключиться можно и через пароль, что понижает безопасность таковой сети.

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

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

  1. На удаленном сервере запустите конфигурационный файл SSH через
    sudo nano /etc/ssh/sshd_config
    .

Найдете параметр «PasswordAuthentication» и измените значение на
no
.

Сохраните конфигурации и окончите работу в редакторе текста.

Новый параметр вступит в силу только после перезагрузки сервиса
sudo systemctl restart sshd.service
.

На этом статья, в какой вы были осведомлены с основными конфигурационными моментами протокола SSH, подходит к концу. Безотступно советуем изучить содержимое выдачи после активации команд, так как там время от времени содержатся описания ошибок. Их решение отыскиваете в официальной документации инструмента либо дистрибутива CentOS.

Источник: lumpics.ru


Добавить комментарий

Оставить комментарий

Кликните на изображение чтобы обновить код, если он неразборчив