Я пытаюсь добавить закрытый ключ в свой sshagent. Выполнение команд
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa_personal
отлично справляется со своей задачей, поэтому, когда я запускаю ssh-add -l
, я вижу, что ключ был добавлен.Это также имеет место даже без запуска команды eval
(что, возможно, вызывает вопрос, зачем мне ее запускать). Однако, если вместо этого я создам исполняемый файл add_key.sh
(используя shebang и chmod +x
) и добавлю в него эти точные команды, а затем запущу его, ssh- add -l
не показывает ключ, а вместо этого показывает «У агента нет идентификаторов»
.
Если я закомментирую команду eval
в сценарии и запущу ее, проблем не будет, и она правильно добавит ключ к агенту. Что такого в моем скрипте, из-за которого ssh-add
не удается добавить ключ, и почему это не проблема, если я закомментирую команду eval
из скрипта или просто запущу команды вручную?