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