Возникли проблемы с аутентификацией с помощью SshUserKeyCredentials с использованием libgit2sharp-SSH:
var co = new CloneOptions();
co.CredentialsProvider = (_url, _user, _cred) => new SshUserKeyCredentials { PrivateKey="C:\\path\\to\\private_key" };
Repository.Clone("git@... .repository.git", path, co);
Я нашел объект SshUserKeyCredentials, просматривая исходный код, поэтому мой первый вопрос будет заключаться в том, можно ли использовать этот объект для развертывания проверки на основе ключа из gitlab?
Кажется, что объект хочет любую комбинацию PrivateKey, имени пользователя, PublicKey и фразы-пароля. В настоящее время я использую PrivateKey.
Ошибка, с которой я столкнулся:
{"Failed to start SSH session: Unable to exchange encryption keys"}
Если этот способ не должен работать, существует ли альтернативный способ использования ключей развертывания для программного управления git из среды С#?