У меня есть закрытый ключ с парольной фразой
И у меня есть 2 компьютера под управлением Ubuntu 14.04
При первом добавлении ключа я использовал ssh-add ~/.ssh/id_rsa
Он спросил мне пароль, и он был добавлен навсегда.
С другой стороны, когда я добавляю ключ с помощью ssh-add ~/.ssh/id_rsa
, он запрашивает у меня пароль и временно добавляет его (он будет удален при следующей перезагрузке).
Но все остальные ssh-ключи без пароля добавляются автоматически.
Я попробовал решения, описанные здесь: https://stackoverflow.com/questions/3466626/add-private-key-permanently-with-ssh-add-on-ubuntu
Но это не работает. И я действительно не понимаю, как это могло бы работать (несмотря на положительные отзывы).
Я не вижу, как простое определение нашего ключа SSH как «IdentityFile» в файлах конфигурации SSH заставило бы его автоматически добавлять ключи SSH с парольной фразой. Это означало бы, что когда я делаю ssh-add ~ / .ssh / id_rsa, система где-то хранит фразу-пароль, но использует ее только в том случае, если я добавлю «IdentityFile» в конфигурации. А для ключа ssh без ключевой фразы не требуется никакой «IdentityFile».
Кто-нибудь знает, как ssh-add работает над этим? Как поведение ssh-add может быть таким недетерминированным?
Я выяснил то, что было проблемой. Кажется, что это - брелок для ключей гнома и морской конек, которые добавляют его ti ssh-агент
И , морскому коньку нужен открытый ключ (.pub), чтобы быть в .ssh (рядом с частным) для автоматического добавления его
Нет никакого способа добавить ключ с паролем постоянно. Зашифрованный ключ хранится в памяти ssh-agent
, который не является персистентным через перезагрузки.
ключи в местоположении по умолчанию или ключах, упомянутых в ~/.ssh/config
(без пароля), не должны быть добавлены к агенту. Эти ssh
возьмет их автоматически.