В моей настройке есть три файла:

id_rsa
id_rsa.pub
authorized_keys

authorized_keys ключ имеет копию содержимого id_rsa.pub для входа без пароля.

Эти файлы были скопированы между двумя компьютерами. Если я ssh с компьютера1 на компьютер2, это работает. Если я ssh с coputer2 на computer1, он запрашивает пароль. Может кто-нибудь сказать мне, почему это может произойти.

Также обе системы работают под управлением Ubuntu 10.04. Я переустановил пакеты openssh-server в обеих системах. Права доступа к файлам одинаковы. Файлы /etc /ssh sshd_config и ssh_config совпадают. Я запустил с -v -v -v и единственное различие между двумя сессиями состоит в том, что один говорит, что «ключ был принят сервером», а другой просто продолжает ввод пароля.

Так что еще осталось проверить?

4 ответа4

1

Вы можете получить выходные данные отладки сервера, остановив сервер и запустив его из командной строки:

sudo /usr/sbin/sshd -Dd

Это дало мне следующий вывод после попытки входа с другого компьютера:

...
Authentication refused: bad ownership or modes for directory /home/user
...

Проверка моего каталога:

ls -l /home/user
drwxrwxr-x 142 user user 7.7K 06-19 15:45 /home/user/

Правильные разрешения должны быть:

chmod 750 /home/user

После того, как я это сделал, теперь это работает.

0

Вы добавили отпечаток с компьютера1 в .ssh/authorized_keys на компьютере2?

Кроме того, вы не должны использовать один и тот же закрытый ключ среди многих ящиков, так как это ослабляет безопасность в случае взлома одного ящика. Лично я использую один ключ на клиента на сервер.

0

В дополнение к ответу Daenyth следует проверить одну вещь: владение файлами и разрешения в вашем каталоге ~/.ssh на обоих компьютерах.

Убедитесь, что вы установлены как пользователь для всех файлов в этом каталоге: chown *USERNAME*: ~/.ssh/*

Также убедитесь, что права доступа такие, что файлы доступны для чтения и записи для вашего пользователя, но не доступны для группы или другого пользователя: chmod 600 ~/.ssh/*

-1

Домашний каталог не может быть доступен для записи как для мира, так и для группы, не только для .ssh dir и файлов, если ваш файл sshd_config имеет StrictModes = yes.

Проверьте, изменив StrictModes = no и перезапустите демон sshd.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .