Я пытаюсь подключиться к своему собственному серверу CentOS по SSH; Я могу нормально подключиться с паролем; Я пытаюсь подключиться с помощью своего открытого ключа, но сервер не пытается выполнить аутентификацию с открытым ключом. Я выполнил все инструкции по эта страница в вики CentOS и проверил следующее:
Я использую CentOS 6.0 или новее
В моем sshd_config есть следующее:
PermitRootLogin no
PubkeyAuthentication Yes
RSAAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Я создал закрытый ключ в папке .ssh / в моем домашнем каталоге на клиенте
ssh-keygen
) занимает одну строку в файле .ssh / authorized_keys в моем домашнем каталоге на сервере.У меня установлены следующие режимы разрешений как на клиенте, так и на сервере:
chmod 700 .ssh
chmod 600 .ssh/*
Согласно этому отчет о проблеме на веб-сайте CentOS это вызвано вышестоящей «функцией» SELinux; если SELinux принудительно, он не позволит серверу использовать аутентификацию с открытым ключом. Нет никаких признаков того, что это поведение изменится в ближайшем будущем. Чтобы узнать, относится ли эта проблема к вам, введите sestatus
и посмотрите, сообщает ли он "Текущий режим" как enforcing
.
Я знаю два обходных пути.
setenforce 0
чтобы немедленно изменить политику, а затем откройте /etc/selinux/config
и убедитесь SELINUX=permissive
.Восстановите файл в правильном контексте безопасности:
restorecon -R -v ~$USER/.ssh