Я попытался настроить ssh для использования аутентификации с открытым ключом
/ etc / ssh / sshd_config имеет эти параметры.
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
Но мне все еще предлагается ввести пароль. Если я использую
PasswordAuthentication no
Я не могу войти
Любое предложение?
Он работает, но только для пользователя root.
Моя проблема была в том, что у меня был этот параметр
PermitRootLogin нет.
Я могу войти в систему с ключами с пользователем root, если я использую
PermitRootLogin да.
В системе есть только каталог /root/.ssh и файл authorized_keys в этом каталоге
Как я могу добавить это другим пользователям, если в этой системе нет каталога home / $ USER / .ssh и файла authorized_keys для каждого пользователя?
Есть ли способ настроить для каждого пользователя? Мне понадобятся разные файлы authorized_keys для каждого пользователя.
Можно ли настроить под разные хосты, домены или IPS? похож на httpd.conf
Проверка подлинности с использованием ключа всегда выполняется перед проверкой подлинности по паролю, поэтому, если вам предлагается ввести пароль, проверка подлинности с помощью ключа не удалась. Наиболее частой причиной этого является неправильное владение или разрешение на файлы на стороне клиента и сервера.
И на клиенте, и на сервере ~/.ssh
каталог должен принадлежать и быть доступным только вам:
chown -R $USER ~/.ssh
chmod u=rwX,g=,o= ~/.ssh
На клиенте закрытый ключ должен принадлежать и быть доступным только вам:
chmod u=rwX,g=,o= ~/.ssh/id_rsa
На сервере файл авторизованных ключей должен принадлежать и быть доступным только вам:
chmod u=rwX,g=,o= ~/.ssh/authorized_keys