Я пытаюсь настроить автоматический вход по SSH с помощью ключей rsa на Raspberry PI (raspbian Jesse). Почти все, что я нахожу, говорит о создании ключей на локальном компьютере (ssh-keygen), добавлении открытого ключа к файлу .ssh/authorized_keys на удаленном компьютере и убедитесь, что права доступа к файлу установлены на 640 или 600.
Я сделал все это, но все еще получает запрос на ввод пароля при ssh'ing.
Я выполнил эти действия на локальной машине от имени пользователя foo:
~$ cd .ssh
~/.ssh$ ssh-keygen -t rsa (hit enter through all the prompts)
~/.ssh$ cat id_rsa.pub | ssh bar@remote.local 'cat >> .ssh/authorized_keys'
bar@remote.local's password: //prompted here
С другого терминала, который уже был ssh'd для удаленного, я проверил, что открытый ключ foo был добавлен к авторизованному ключу бара.
Пробовал ssh'ing как пользователь foo для удаленного доступа как пользовательскую панель с нового терминала.
~$ ssh bar@remote.local
bar@remote.local's password: //prompted here
Автоматический вход не работает. Итак, я нашел этот сайт http://www.rebol.com/docs/ssh-auto-login.html. Следовал инструкциям и все работает. Но это звучит противоположно тому, что я бы подумал. На этом сайте написано, что необходимо создать ключи на пульте дистанционного управления и добавить открытый ключ к файлу author_keys пульта, затем загрузить закрытый ключ пульта на локальный компьютер и использовать его в качестве файла идентификации.
Это верно? Зачем кому-то хотеть скопировать закрытый ключ на другую машину? Я думал, что закрытый ключ должен оставаться на машине, для которой он был создан, и должен быть защищен.
Вот инструкции для связанной страницы в случае, если она перемещается
On server:
cd .ssh
ssh-keygen -t rsa (hit return through prompts)
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
rm id_rsa.pub
On client:
cd .ssh
scp myserver.com:.ssh/id_rsa myserver.rsa
chmod 600 myserver.rsa
echo "Host myserver" >> config
echo "Hostname reblets.com" >> config
echo "IdentityFile ~/.ssh/myserver.rsa" >> config