Моя машина недавно перестала принимать входящую аутентификацию с открытым ключом. У меня есть рабочий стол Ubuntu 11.04, который я использую с компьютера Windows. Я использую замазку с театрализованным представлением. Я могу подключиться, но только с интерактивной аутентификацией по паролю, а не с моим ключом rsa, который я настроил.
Я уже проверил, что ключ указан в ~ / .ssh / authorized_keys. Как мне это исправить и что я проверяю?
ssh
authentication
Эндрю Редд
источник
источник
~
,~/.ssh
и~/.ssh/authorized_keys
будут доступны для записи только вам (в частности , разрешение на запись не группы). Ищите/var/log/auth.log
записи журнала, созданные во время ваших попыток входа в систему. Скопируйте и вставьте их в свой вопрос (редактируя имена для конфиденциальности, если хотите). Также проверьте, связана ли проблема исключительно со стороны сервера: скопируйте закрытый ключ на компьютер с Linux (вам необходимо преобразовать файл закрытого ключа PuTTY в формат OpenSSH) и посмотрите,ssh localhost
работает ли он .Ответы:
Если аутентификация с открытым ключом не работает: убедитесь, что на стороне сервера, ваш домашний каталог (
~
),~/.ssh
каталог и~/.ssh/authorized_keys
файл доступны для записи только их владельцу . В частности, ни один из них не должен быть доступен для записи группе (даже если пользователь в группе один).chmod 755
илиchmod 700
в порядке,chmod 770
нет.Что проверить, если что-то не так:
ssh -vvv
чтобы увидеть много отладочной информации. Если вы задаете вопрос, почему вы не можете соединиться с ssh, включите этот вывод (вы можете захотеть анонимизировать имена хостов и пользователей)./var/log/auth.log
.источник
Я столкнулся с тем же и, наконец, понял, что это потому, что я зашифровал мой домашний каталог. SSH не может прочитать файл author_keys до тех пор, пока вы не войдете в систему, поэтому в основном он заставляет вас сначала пройти аутентификацию по паролю. Смотрите раздел о зашифрованном домашнем каталоге по следующей ссылке:
https://help.ubuntu.com/community/SSH/OpenSSH/Keys#Encrypted_Home_Directory
источник
Если вы проверите разрешения на каталоги, и там есть «.» сразу после них у вас может быть включен selinux, что приведет к путанице с обменом ключами, и по умолчанию будет установлена идентификация пароля вручную.
Вы можете отключить SELinux для устранения неполадок, следуя инструкциям здесь: http://www.centos.org/docs/5/html/5.1/Deployment_Guide/sec-sel-enable-disable-enforcement.html , или просто измените / etc / selinux / config и измените его с «принудительного» на «отключенный».
Надеюсь это поможет.
источник
chmod 600 ~/.ssh/authorized_keys
- файл был доступен для записи группой. (через pyrosoft.co.uk/blog/2013/01/12/… )restorecon ~ -R
) является хорошей отправной точкой.Я хотел бы убедиться, что у вас есть правильные настройки в / etc / ssh / sshd_config.
Чтобы принудительно использовать только PKI и запретить пароли, найдите строку
в вашем файле раскомментируйте его и установите
Я также прочитал бы баланс настроек, чтобы убедиться, что они имеют смысл. В частности, постарайтесь убедиться, что вы используете ключи RSA, поскольку известно, что DSA взломан.
источник
Одной из возможных причин проблемы является то, что у вас есть ключи DSA, но теперь SSH (по-видимому) по умолчанию требует наличия ключей RSA. У меня проблема при обновлении до 16.04. Вы можете увидеть больше здесь, но краткий ответ - добавить следующее
~/.ssh/config
:источник
Я исправил эту проблему, сняв комментарий «PasswordAuthentication yes» в / etc / ssh / sshd_config.
источник
Из-за необходимости устранения неполадок связи между двумя разными машинами у меня было два закрытых ключа
~/.ssh
на стороне клиента.Вместо того, чтобы настраивать каждый хост сервера с соответствующим закрытым ключом,
~/.ssh/identity
как я должен был сделать, у меня был вторичный (и в данном случае неправильный) ключ, настроенный для всех хостов:Исправление
~/.ssh/identity
решило проблему:источник
У меня была та же проблема, но поменять разрешения
chmod
не помогло, так как оказалось, что у меня нет владельца~/.ssh/authorized_keys
файла. Вы можете изменить владельца.ssh
каталога с помощью:источник
Каким-то образом это сработало для меня:
root @ kaiser: ~ # vim / etc / ssh / sshd_config
Измените эту строку с да на нет 28 StrictModes нет
Попробуйте еще раз
sysadmin @ suselinux1: ~> con sysadmin kaiser Добро пожаловать в Ubuntu 12.04.1 LTS (GNU / Linux 3.2.0-25-generic i686)
Последний вход в систему: Пт 9 ноября 15:40:11 2012 с 10.1.3.25 sysadmin @ kaiser: ~ $ date vie nov 9 17:53:11 CST 2012 sysadmin @ kaiser: ~ $
источник
sshd
документов, которые точно не попадают в категорию «хорошее чтение в субботу»