среда, 22 марта 2017 г.

Настройка входа SSH с авторизацией по ключам и включенным SELinux

Генерация публичного ключа

Для начала нужен ключ, по которму будет происходить авторизация. Если ещё нет ключа, то его нужно создать командой
$ ssh-keygen

Простой способ

Обнаружил, что в CentOS 7 добавли утилиту ssh-copy-id в базовый набор. Ей пользоваться немного проще.

Добавить ключ на удалённую машину server можно командой на клиентской машине
$ ssh-copy-id user@server
Где user нужное имя пользователя, а server адрес сервера.

Способ посложнее

Если же ssh-copy-id у вас нет, то можно скопировать ключ командами
$ cat ~/.ssh/id_rsa.pub | ssh user@server 'cat >> .ssh/authorized_keys'
$ ssh user@server 'chmod 600 .ssh/authorized_keys'
Где id_rsa.pub публичный ключ.

Возможные проблемы

В теории, команд выше должно быть достаточно. На практике иногда не работает.
Для начала стоит проверить права на файл $HOME/.ssh/authorized_keys, файл должен принадлежать пользователю и иметь права доступа 600.
Затем стоит проверить лог /var/log/audit/audit.log на предмет ошибок с меткой ssh_home_t. Если таковые имеются, исправить метки на удалённой машине командой
$ sudo restorecon -r -vv $HOME/.ssh

Взято отсюда

Комментариев нет:

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