c# - 使用带有 libgit2sharp 的 SSH 进行身份验证/通信时遇到问题
问题描述
使用 libgit2sharp 使用 SSH 身份验证将更改拉/推到远程存储库时遇到一些问题。这个远程存储库托管在 GitLab 中。
这是我正在使用的代码:
using (var repo = new Repository(repoDirectory))
{
var remote = repo.Network.Remotes["origin"];
var options = new PushOptions
{
CredentialsProvider = (url, user, cred) =>
{
var credentials = new SshUserKeyCredentials()
{
PrivateKey = @"c:\users\<username>\.ssh\id_rsa",
PublicKey = @"c:\users\<username>\.ssh\id_rsa.pub",
Passphrase = string.Empty,
Username = "git"
};
return credentials;
}
};
repo.Network.Push(remote, @"refs/heads/master", options);
}
我在 CredentialsProvider 委托中放置了一个断点,但它没有被执行。我得到的错误信息是这样的:
“无法启动 SSH 会话:无法交换加密密钥”
任何人都知道为什么我会收到此消息?我完全迷失在这里。
LibGit2Sharp v0.25.2、LibGit2Sharp-SSH v1.0.22
解决方案
推荐阅读
- azure - AAD 应用注册不接受查询字符串参数
- sql - 滚动日期期间的平均值
- c# - c# 中是否有与 int 和 string 成员变量等效的 c++ union?
- python - 为这个代码块寻找一个更好的 python 约定
- docker - 云构建 CI/CD 和 k8s 文件
- vuejs2 - 如何在主 vue 实例中查看路由器对象
- python - 如何在以 {{ 开头并以 } 结尾的字符串中查找所有子字符串
- c++ - 从源代码实时调用gdb
- eigen - Eigen::SparseQR::matrixQ() 对于一个大的稀疏矩阵永远挂起
- java - 如何修复 onDataChange 崩溃?