Как передать в git rsa пароль от удаленного ssh?

У меня есть сервер AWS Ubuntu 10.xx. Из-за технических проблем я использую Git 1.7.4 вместо последней. (поэтому я не могу использовать учетную запись помощника).

На этом сервере есть сценарий оболочки, вызывающий git pull.

У меня есть RSA на этом сервере. так что, если я зайду на этот сервер и сделаю git pull, он запросит фразу-пароль. Это хорошо, и здесь нет проблем.

Однако, если я удаленно вызову этот сценарий оболочки для git pull, произойдет сбой. потому что нет никакой подсказки для парольной фразы, таким образом, это потерпит неудачу. Я получу "Отказано в доступе (publickey)".

И что же мне делать?

1 ответ

Решение

Вы можете использовать ssh-agent на сервере, чтобы загрузить закрытый ключ и ввести пароль один раз. Это будет держать ключ загруженным до тех пор, пока ssh-agent не будет уничтожен, например, при перезагрузке.

Вы также можете использовать переадресацию агента SSH, как подсказывает @kostix.

Кроме того, нужно ли запускать скрипт оболочки без присмотра? Если нет, я использую и люблю фабрику для подобных задач, так как она будет пересылать любые входные приглашения с удаленного сервера на ваш локальный компьютер, в дополнение ко всем другим видам удивительности при автоматизации задач на удаленных серверах.

Другие вопросы по тегам