У меня два пользователя на одной машине, и я пытаюсь настроить SSH для пользователя № 2. SSH все еще запрашивал пароль для второго пользователя, поэтому я скопировал файл .rsa от пользователя № 1 к пользователю № 2. хотя у них идентичные файлы и разрешения и хотя пароль не запрашивается у пользователя № 1, SSH все равно запрашивает пароль у пользователя № 2. Что может привести к тому, что два пользователя на одной машине с идентичными файлами .rsa будут получать разные ответы от SSH?
решение1
Все каталоги, начиная с root и до каталога .ssh в вашем домашнем каталоге, не должны иметь разрешения на запись ни для 'group', ни для 'other'. Это требование ssh для дополнительной безопасности. Если бы разрешения не были установлены таким образом, злоумышленник имел бы возможность войти и изменить или скопировать .ssh, начиная с первого каталога, на который у него были разрешения на запись, и скопировать закрытый ключ другому пользователю по своему выбору или обновить ключи на ключи по своему выбору и таким образом позволить себе подделать вас и войти в систему как вы, используя ssh и не спрашивая пароль. Таким образом, ключи .ssh не будут работать, если они не защищены должным образом с помощью соответствующих разрешений.
решение2
Я отвечаю подпредположениечто user1 и user2 находятся на удаленном сервере и что вы подключаетесь к нему, используя закрытый ключ локально.
Если вместо этого вы пытаетесь использовать локальную учетную запись user1/user2 для подключения к удаленному серверу, то мой ответ не применим.
На удаленном сервере вам необходимо добавить содержимое открытого ключа в:
~/.ssh/authorized_keys
Содержимое файла будет выглядеть примерно так:
решение3
Кто-то дал разумный ответ ранее (должно быть, его удалили), предположив, что разрешения для .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