MAC OS X Lion 10.7.3
1) На хосте я создал файл author_keys в папке .ssh, выполнив:
touch authorized_keys
2) Я скопировал мой открытый ключ ssh в папку host .ssh, выполнив:
scp ~/.ssh/mykey.pub userhost@host.com:/home/userhost/.ssh/mykey.pub
3) Я поместил его содержимое в авторизованные файлы, выполнив:
cat mykey.pub >> authorized_keys
4) Затем я удалил файл mykey.pub:
rm mykey.pub
5) На моем терминале локально, внутри моей папки ~/.ssh, я сделал:
ssh-add mykey
(обратите внимание, что это без расширения паба);
6) Я закрыл и снова открыл терминал.
Когда я впервые подключаюсь к этому хосту, он добавляется в файл known_hosts внутри ~/.ssh; Я pico known_hosts
и хэш там.
Тем не менее, каждый раз, когда я подключаюсь, выполняя: ssh userhost@sharedhost.com, он запрашивает пароль!
Что мне здесь не хватает?
ОБНОВИТЬ:
Я сделал еще ДВА БОЛЬШЕ здесь:
7) Установите свой ключ в качестве идентификатора по умолчанию - если он не существует, создайте;
touch ~/.ssh/config
и поместите в следующую строку:
IdentityFile ~/.ssh/yourkeyname
id_rsa - это обычно ваш ключ по умолчанию. Вы должны переключиться на свой ключ. Это говорит о том, что исходящие соединения ssh должны использовать это как идентификатор по умолчанию.
8) Добавьте процесс bash в ваш ssh-agent:
ssh-agent bash
ssh-add ~/.ssh/yourkeyname
Ответ Лизинге помог, но он не окончательный. Если мы перезапустим наш компьютер, пароль снова будет запрошен !!!
Как мы можем отладить это? Что мы можем сделать здесь? Как мы можем проверить, где происходит сбой этого процесса?
ОБНОВЛЕНИЕ 2:
Если я использую:
ssh -v -i <keyfile> userhostname@hostname.com
Я получаю среди прочего:
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 фев 2011 г. Предупреждение. Идентификационный файл yourkeyname недоступен: такого файла или каталога нет.
Это сообщение относится к чему? Идентификационный файл недоступен на локальном хосте или недоступен на удаленном хосте?
Пожалуйста посоветуй