Меню

Настройка ssh ключей centos



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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перезапустите сервис через sudo service sshd restart , чтобы внесенные изменения вступили в силу.

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

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

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

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

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

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

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

Читайте также:  Настройка теплых полов датчик

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

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

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

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

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

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

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

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, если, конечно, у вас имеется доступ к серверной учетной записи. Выгрузка ключей производится посредством обычного подключения, а именно:

    Команда cat позволит считать и сразу же добавить ключ в файл на серверном компьютере. Для этого просто введите cat

/.ssh/id_rsa.pub | ssh username@remote_host «mkdir -p

/.ssh/authorized_keys» , где username@remote_host — имя учетной записи и хоста удаленного компьютера. Учтите, что опция >> добавит ключ в конец файла, а не перезапишет его полностью. Поэтому введенные ранее ключи тоже будут сохранены.

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

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

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

      Сперва узнайте этот ключ через уже знакомую команду cat, введя в консоли cat

    Читайте также:  Настройка fondital victoria compact

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

    Подключитесь любым удобным методом к удаленному компьютеру и создайте каталог mkdir -p

    /.ssh . Команда ничего не сделает, если каталог уже существует.

    Осталось только внести данные в файл «authorized_keys». Команда echo public_key_string >>

    /.ssh/authorized_keys добавит ключ в файл или создаст сначала файл, если он отсутствует. Вместо «public_key_string» нужно вставить полученную ранее строку с ключом.

    На этом процедура копирования ключа успешно завершена. Благодаря этому теперь доступна аутентификация к серверу путем ввода ssh username@remote_host . Однако подключиться можно и через пароль, что понижает безопасность такой сети.

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

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

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

    Отыщите параметр «PasswordAuthentication» и измените значение на no .

    Сохраните изменения и завершите работу в текстовом редакторе.

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

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

    Источник

    Как создать ключ для авторизации по SSH и добавить его на сервер?

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

    SSH-ключи представляют собой пару — закрытый и открытый ключ. Закрытый должен храниться в закрытом доступе у клиента, открытый отправляется на сервер и размещается в файле authorized_keys.

    Создание SSH-ключей в Linux на примере CentOS

    На клиентской стороне должен быть установлен пакет ssh (openssh). На серверах FirstVDS с шаблонами по умолчанию необходимое ПО уже установлено.

    На клиентском компьютере в командной строке выполните команду генерации ключей:

    Введите путь файла, в который будут помещены ключи. Каталог по умолчанию указан в скобках, в примере /домашний_каталог/.ssh/id_rsa . Если хотите оставить расположение по умолчанию, нажмите Enter .

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

    Успешно сгенерировав пару ключей, вы увидите уведомление:

    Открытый ключ хранится в файле /домашний_каталог/.ssh/id_rsa.pub , закрытый — /домашний_каталог/.ssh/id_rsa .

    Читайте также:  Настройка карбюратора после замены поршневой

    Скопируйте открытый ключ на сервер в файл /домашний_каталог/.ssh/authorized_keys . Одной строкой:

    Или откройте этот файл на сервере редактором vi и вставьте строку с открытым ключом после ssh-rsa .

    Ещё один способ скопировать ключ в authorized_keys — команда echo , которая помещает строку в конец файла.

    Теперь можно отключить на сервере аутентификацию по паролю и использовать только SSH-ключи.

    Создание SSH-ключей на Windows с PuTTYgen

    Если вы используете ОС Windows, то подключиться по SSH к вашему (Linux) серверу можно через PuTTY или OpenSSH . Генерация ключей в этом случае выполняется также при помощи этих программ. В примере мы используем клиент PuTTY.

    Запустите приложение PuTTYgen , которое устанавливается вместе с PuTTY.

    Выберите тип ключа SSH2-RSA и нажмите Generate .

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

    После завершения создания ключей открытый ключ выводится на экран, закрытый хранится в памяти приложения. Чтобы сохранить эти ключи нажмите Save public key и Save private key . Укажите расположение файлов с ключами.

    При сохранении закрытого ключа, если не заполнено поле Key passphrase , появится запрос «Хотите ли вы сохранить ключ без секретной фразы?»

    Теперь открытый ключ необходимо скопировать на сервер в файл authorized_keys . Используйте WinSCP или другой клиент для работы с файлами на удалённом Linux-сервере. Вы можете скопировать файл с открытым ключом целиком на сервер, чтоб его копия хранилась в папке .ssh

    Откройте файл authorized_keys через WinSCP и файл, в который вы сохранили открытый ключ (public), на локальном компьютере текстовым редактором. Скопируйте значение ключа, сохраните и закройте файл в WinSCP.

    При запуске PuTTY укажите путь к закрытому ключу на локальном компьютере. Для этого во вкладке Connections → Auth выберите необходимый путь.

    Теперь можно отключить на сервере аутентификацию по паролю и использовать только SSH-ключи.

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

    Подключитесь к серверу по SSH, используя пароль, и откройте файл sshd_config для редактирования.

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

    Перезапустите службу sshd.

    Подключитесь к серверу по SSH без использования пароля. Например, запустите PuTTY, проверьте, что во вкладке Connections -> Auth содержится путь к закрытому ключу и откройте подключение.

    В случае успешной аутентификации по SSH-ключу вы получите доступ к командной строке сервера и сообщение вида Authenticating with public key «rsa-key-20170510» , где rsa-key-20170510 — имя применённого закрытого ключа, указанное вами в файле authorized_keys .

    Источник

    Adblock
    detector