我有点卡在 SSH 私钥问题和 LibGit2Sharp-Ssh 上。
我有一个使用 LibGit2Sharp-Ssh 克隆 Git 存储库的 .Net/C# 应用程序。
我需要使用 SSH(不能选择带有用户/密码的 https),而且我还有一个有效的密钥,它已经在 Teamcity 中工作。
我的代码如下所示:
CloneOptions options = new CloneOptions
{
Checkout = false,
CredentialsProvider = (url, user, cred) => new SshUserKeyCredentials()
{
PrivateKey = privateKey,
Passphrase = passphrase,
PublicKey = publicKey,
Username = "git"
}
};
var clone = LibGit2Sharp.Repository.Clone(remoteUrl, localPath, options);
privateKey
指向“OpenSSH”格式的私钥文件。
何时Clone
执行我得到:
LibGit2Sharp.LibGit2SharpException: "Failed to authenticate SSH session: Invalid key data, not base64 encoded"
我已经尝试了所有可以使用 PuttyGen 创建的私钥格式,但我总是得到相同的结果。
可能是什么问题或我需要以什么格式创建私钥文件?
我的 OpenSSH 格式密钥看起来像(截断):
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,27A4E70608469318
<Key-Data, like "sdhsdcQEHBg3uzfb...">
-----END RSA PRIVATE KEY-----