1

Я пытаюсь подключиться по SSH к серверу, на котором у меня работает sshd (назовем меня me @ server). Я настроил ssh-ключи, используя ssh-keygen -t rsa для создания ключа, а затем запустил cat ~/.rsa/id_rsa.pub | ssh user@server 'cat >> ~/.ssh/authorized_keys' . Теперь, когда я запускаю ssh user@server я без проблем подключаюсь к серверу. Но когда я использую псевдоним ssh server меня запрашивают пароль моего ключа (который не имеет пароля) и в итоге вводят пароль user@server (чего я и пытался избежать в первую очередь).

Вот мой .ssh/config на моей локальной машине:

Host server
    HostName my_ip
    User user
    IdentityFile ~/.ssh/id_rsa.pub

Я проверил все права доступа к файлам / каталогам как на локальном, так и на удаленном компьютере, и все они оказались правильными. У кого-нибудь есть идеи, что происходит?

ОБНОВИТЬ

Поэтому я решил, что, поскольку вход в систему работает без опции -i ~/.ssh/id_rsa.pub я мог бы также попробовать использовать хост без IndentityFile ~/.rsa/id_rsa.pub Поэтому я удалил эту строку из файла конфигурации и все заработало. Я не знаю, почему. Кто-нибудь хочет объяснить это?

2 ответа2

1
IdentityFile ~/.ssh/id_rsa.pub
-i ~/.ssh/id_rsa.pub

Вы указываете открытый ключ здесь. Вместо этого вы должны указать закрытый ключ. Закрытый ключ, вероятно, называется ~/.ssh/id_rsa .

~/.ssh/id_rsa - это одно из имен файлов ключей по умолчанию, которое ищет ssh . Когда вы удалили ошибочную спецификацию ключевого файла из своей команды, ssh вероятно, вернулся к поиску ключей по умолчанию и использовал id_rsa для сеанса.

0

Во-первых, вы уверены, что он запрашивает пароль вашего файла ключей, а не пароль удаленного сервера?

Во-вторых, SSH имеет невероятно подробный режим отладки, если вы укажете параметры командной строки: -v -v -v

Вы можете сделать то же самое на сервере: -d -d -d

Это должно сказать вам точно, что происходит с обеих сторон и объяснить любое странное поведение.

Если бы мне пришлось угадывать, я подозреваю, что клиент SSH разрешает другой закрытый ключ, а затем по какой-то причине форсирует запрос, но вывод отладки - это способ выяснить.

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

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