После создания ключей с именем id_rsa
в его местоположении по умолчанию. Я добавляю личность к агенту SSH с помощью команды ssh-add ~/.ssh/id_rsa
, она успешно добавляется.
Я могу использовать SSH, не вводя парольную фразу ключа, поскольку это уже с агентом SSH.
Но , когда я перезагружаю машину или сервер, а затем проверяю идентичность с помощью команды, ssh-add -L
я получаю сообщение как The agent has no identities
.
Значит ли это, что когда мы перезагружаем машину, агент теряет личность? Это нормальное поведение или что-то, чего мне здесь не хватает?
Пожалуйста, наведите меня, я не очень знаком с SSH.
Ответы:
Это нормально. Цель ключевого агента - просто хранить дешифрованные ключи в памяти , но он никогда не будет записывать их на диск. (Это победит цель - почему бы просто не снять защиту с главного ключа?)
Таким образом, ключи должны быть разблокированы при каждом входе в систему, и вам нужно автоматизировать это - в Linux использование
pam_ssh
одного варианта; он автоматически использует пароль вашей ОС для разблокировки агента. Другой подобный модульpam_envoy
, который немного более надежен (но требует systemd).Оба модуля запускают самого агента и автоматически загружают ключи.
источник
$SSH_AUTH_SOCK
я получаю результат как::-bash: /tmp/ssh-gT43vE99vk/agent.511
Отказано в разрешении Я здесь запутался .. Погода мой агент работает или нет .. Можете ли вы направлять?echo $SSH_AUTH_SOCK
напечатать его значение.Попробуйте сделать это с ~ / .bashrc :
Это должно запрашивать пароль только после входа в систему.
источник
В OS X ssh-add имеет специальный флаг для подключения к связке ключей, если вы решили сохранить там свой закрытый ключ.
Просто беги
ssh-add -K ~/.ssh/id_rsa
.Я считаю, что это отвечает на ваш вопрос более полно. Этот специфический для OS X флаг трудно найти документацию, но он работает по крайней мере с OS X Leopard.
источник
ssh-add -A
ключ, который добавит все ключи в связку ключей. Кроме того, также создайте~/.ssh/config
и добавьте,UseKeychain yes
чтобы macOS всегда сохраняла ваш ключ, как описано здесь: unix.stackexchange.com/questions/140075/…Это решение удобно, если ваши ssh-ключи защищены парольной фразой.
Проблема со всеми вышеперечисленными ответами является то , что если секретный ключ ключевой фразы защищен, каждый раз , когда вы запускаете новый терминал и попытаться использовать секретный ключ, вы должны ввести ключевую фразу , и вы будете в конечном итоге запуск нескольких копий
ssh-agent
дюйма объем памяти. Решение состоит в том, чтобы добавить следующее в ваш~/.bashrc
или~/.zshrc
:Это будет запрашивать пароль вашего личного ключа (ключей) ssh только один раз при запуске терминала. Последующее открытие новых терминальных сессий (или видений tmux) будет повторно использовать ssh-agent, созданный фрагментом выше.
Ссылка
источник