我有点困在SSH私钥问题和LibGit2Sharp-Ssh.
我有一个.Net/C#应用程序,它使用LibGit2Sharp-Ssh来克隆Git存储库.
我需要使用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);
Run Code Online (Sandbox Code Playgroud)
privateKey 指向"OpenSSH"格式的私钥文件.
什么时候Clone执行我得到:
LibGit2Sharp.LibGit2SharpException: "Failed to authenticate SSH session: Invalid key data, not base64 encoded"
Run Code Online (Sandbox Code Playgroud)
我已经尝试了使用PuttyGen创建的所有私钥格式,但我总是得到相同的结果.
我可能需要创建私钥文件的问题或格式是什么?
我的OpenSSH格式键看起来像(截断的):
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,27A4E70608469318
<Key-Data, like "sdhsdcQEHBg3uzfb...">
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud) 我已使用VSCode克隆了我的GitHub存储库之一,并进行了一些提交。当我完成第一次提交时,VSCode要求我提供我的GitHub密码。
我已经重新启动了计算机,现在可以像以前一样进行提交了,但是VSCode不会要求输入密码。似乎密码已存储。但是这台计算机不是我的计算机,我不希望其他人可以使用我的帐户。
如何使VSCode忘记我的GitHub密码?
我尝试过git命令吗?
git config --global --unset-all user.email
Run Code Online (Sandbox Code Playgroud)
但是VSCode仍然让我无需询问即可提交。