SSH запрашивает пароль для одного пользователя, а не для другого

У меня есть два пользователя на одном компьютере, и я пытаюсь настроить SSH для пользователя #2. SSH все еще запрашивал пароль для второго пользователя, поэтому я скопировал файл.rsa от пользователя № 1 к пользователю № 2. хотя у них есть идентичные файлы и разрешения, и хотя у пользователя # 1 не запрашивается пароль, SSH по-прежнему запрашивает пароль у пользователя #2. Что может привести к тому, что два пользователя на одном компьютере с одинаковыми файлами.rsa будут иметь разные ответы от SSH?

3 ответа

Решение

Все каталоги, начиная с корневого каталога и вплоть до каталога.ssh в вашем домашнем каталоге, не должны иметь разрешения на запись для "группы" или "других". Это требование ssh для дополнительной безопасности. Если разрешения не были установлены таким образом, у злоумышленника будет возможность войти и изменить или скопировать.ssh, начиная с первого каталога, для которого у него есть разрешения на запись, и скопировать закрытый ключ другому пользователю по своему выбору или обновлению. ключи выбираются по своему выбору и, таким образом, позволяют подделывать вас и входить в систему, используя ssh и не запрашивая пароль. Поэтому ключи.ssh не работают, если они не защищены должным образом соответствующими правами доступа.

Кто-то ранее дал разумный ответ (он, должно быть, удалил его), предположив, что разрешения для.rsa и включенных файлов были неправильными. Хотя это не было проблемой, это было почти правильно. Оказывается, что все папки, ведущие к.rsa, должны иметь соответствующие разрешения.

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

[root@computer ~]# ls -ld /home/user2 /home/user1

drwxrwx--- 24 user2 user2  4096 Jun  2 13:13 /home/user2
drwxr-xr-x 97 user1 user1 12288 Jun  2 13:06 /home/user1



[root@computer ~]# chmod -v 755 /home/user2

mode of `/home/user2' changed to 0755 (rwxr-xr-x)



[root@computer ~]# ls -ld /home/user2 /home/user1

drwxr-xr-x 24 user2 user2  4096 Jun  2 13:13 /home/user2
drwxr-xr-x 97 user1 user1 12288 Jun  2 13:06 /home/user1

Я отвечаю в предположении, что user1 и user2 находятся на удаленном сервере, и вы подключаетесь к нему с помощью закрытого ключа локально.

Если вы вместо этого пытаетесь использовать локальную учетную запись user1/user2 для подключения к удаленному серверу, мой ответ не применяется.


На удаленном сервере вам необходимо добавить содержимое открытого ключа в:

~/.ssh/authorized_keys

Содержимое файла будет выглядеть примерно так:

введите описание здесь

Другие вопросы по тегам