English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
0. Объяснение
Для удобства пояснения предположим, что у нас есть два компьютера с установленной CentOS 6.5: A и B. Цель - чтобы каждый из этих компьютеров мог входить на другой без пароля через SSH. Процесс настройки на разных компьютерах аналогичен, поэтому здесь мы рассмотрим процесс настройки на компьютере A.
Предположим, что на主机х A и B предварительно созданы пользователи для входа без пароля, в файл /etc/hosts добавьте имена хостов и IP-адреса.
Создать нового пользователя: useradd linuxidc
Установить пароль: passwd linuxidc, введите желаемый пароль, затем переключитесь на пользователя linuxidc с помощью su linuxidc
Изменить имя хоста: vim /etc/sysconfig/network, добавьте hostname=master, после выхода из системы увидите, что изменение прошло успешно
Изменить файл hosts:
vim /etc/hosts 192.168.88.101 master 192.168.88.102 slave1
1. Настройка окружения
1.1 Отключить брандмауэр (с правами root)
CentOS 6.5 очень строг в управлении сетью, необходимо отключить SELinux. В файле /etc/selinux/config измените SELINUX=enforcing на SELINUX=disabled. Требуются права root.
# su root
Пароль:
$ vim /etc/selinux/config
Найдите SELINUX и измените его на SELINUX=disable
1.2 Изменить файл конфигурации sshd (с правами root)
$ vim /etc/ssh/sshd_config
Найдите следующее содержимое и удалите символы комментариев «#»
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
1.3 Перезапустить сервис sshd (с правами root)
$ /sbin/service sshd restart
2. Создать общественный и секретный ключи на этом компьютере
Вернитесь к пользователю linuxidc, который будет входить без пароля, и выполните команду.
# ssh-keygen -t rsa
По умолчанию создаются два файла в домашнем каталоге пользователя linuxidc (~/.ssh/):
id_rsa: Секретный ключ
id_rsa.pub: Общественный ключ
3. Ввести общественный ключ в файл аутентификации
3.1 Ввести на этот компьютер
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
После выполнения этого шага повторите шаг 4 и измените права доступа к соответствующим файлам, чтобы можно было входить на машину без пароля. Вы можете использовать следующие команды для проверки.
ssh localhost
Если вы можете войти, это означает успешную проверку.
3.2 Импорт на целевую машину
3.2.1 Вести операции на локальной машине и передавать на целевую машину
# scp ~/.ssh/id_rsa.pub root@ip_целевой_машины или имя_целевой_машины:/home/id_rsa.pub
Убедитесь, что при передаче файла на целевую машину вы используете пользователя root,否则 передача будет отклонена из-за недостаточных прав доступа. После ввода пароля целевой машины появится OK, что означает успешную передачу.
3.2.2 Войти на целевую машину и импортировать общественный ключ в файл аутентификации
Используйте имя пользователя, который будет аутентифицироваться без пароля, linuxidc, чтобы войти на целевую машину и выполнить следующие действия.
# cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
Далее, повторите шаг 4 и измените права доступа к соответствующим файлам, чтобы завершить настройку аутентификации без пароля.
4. Изменение прав доступа к соответствующим файлам
# chmod 700 ~/.ssh # chmod 600 ~/.ssh/authorized_keys
Таким образом, настройка аутентификации без пароля завершена.
5. Тестирование
Мастер (linuxidc@master), слуга (linuxidc@slave1). На мастерском компьютере переключитесь на пользователя linuxidc и выполните следующие команды для тестирования:
ssh slave1
Вот что я хочу представить вам, уважаемые читатели, это учебник по настройке SSH аутентификации без пароля в CentOS 6.5, надеюсь, это поможет вам. Если у вас есть какие-либо вопросы, пожалуйста, оставляйте комментарии, я отвечу вам вовремя. Вновь хочу выразить признательность всем, кто поддерживает сайт呐喊 учебников!