ssh-agent работает только как команда, а не как скрипт в macOS

371
franc

У меня есть Mac с macOS 10.11.6, и у меня была проблема с тем, что при подключении через ssh к серверу пароль (для закрытого ключа) не сохранялся, мне приходилось вводить его при каждом входе в систему. Таким образом, я нашел это решение здесь после этого вопроса:

«Mac OS X: цепочка для ключей не может сохранить фразу-пароль при подключении к удаленному хосту через ssh от имени root» и когда я делаю это двумя командами:

eval `ssh-agent -s` /usr/bin/ssh-add -k /Volumes/path/to/my/ssh-key 

в командной строке это работает. Несмотря на то, что я получил «Не удалось создать элемент цепочки для ключей», пароль сохраняется, пока я не закрываю вкладку «Терминал», куда я помещаю эти команды.

Но когда я помещаю эти две команды в сценарий оболочки и запускаю его от имени того же пользователя (root), что и раньше, ключ забывается при следующем входе в систему. Это простой скрипт:

#!/bin/bash eval `ssh-agent -s` /usr/bin/ssh-add -k /Volumes/path/to/my/ssh-key 

Я ввожу пароль, и сессия SSH открывается, но после выхода из него пароль исчез, я должен ввести его снова.

В чем моя ошибка здесь возможно?

Спасибо откровенный

0

1 ответ на вопрос

0
franc

Я добавил псевдоним в мой bashrc и с этим он работает без проблем :)

alias da='eval `ssh-agent -s` && /usr/bin/ssh-add -K /Volumes/TC20GB/dickies/root/dickies.ssh' 

Похожие вопросы