#windows #git #powershell #ssh-keys #plink
#Windows #git #powershell #ssh-ключи #plink
Вопрос:
(ОС: Windows; с использованием PowerShell)
Фон
Я намерен время от времени запускать «git pull» моей службой (т.Е. Службой Windows). Для этого я использую TortoiseGitPLink для предоставления git моего SSH-ключа каждый раз, когда это необходимо. Это делается путем установки переменной env:
$env:GIT_SSH_COMMAND="'C:/Program Files/TortoiseGit/bin/TortoisePlink.exe' -i c:/path/to/my/key/id_rsa.ppk -pw myKeyPassword"
В целом это работает нормально, но если я ошибаюсь и указываю неправильный путь к своему SSH-ключу или неправильный пароль, то TortoisePlink зависает на неопределенный срок, поэтому моя служба зависает. Кроме того, если я остановлю службу, процесс TortoisePlink все еще зависает.
Читая документ Plink, я нашел переключатель «-batch»:
-batch: disable all interactive prompts
но по какой-то причине либо он не соблюдается, либо я использую его неправильно.
Вопрос
Есть ли способ использовать TortoiseGitPLink для надежного предоставления ключа SSH? Под «надежно» я подразумеваю: он должен завершиться неудачей, если появится какое-либо всплывающее окно или файл ключа отсутствует.