我已经在 Github 上使用 VS 2019 和 2022 有一段时间了,但都仅限于使用电子邮件/密码登录的常规 https。
我有这个项目,需要 git over ssh 。如果可能的话我不想安装单独的 git 客户端。
我可以从 VS 2022 配置 SSH 身份验证到 Github 吗?
Visual Studio 2022 支持经过 SSH 身份验证的 Git 客户端。
使用 GitHub 在 Visual Studio 2022 中进行 SSH 身份验证需要以下步骤:
SSH 客户端生成公钥-私钥对。 Git Bash 或其他命令行工具可以生成密钥对。
GitHub:添加您的公钥。生成 SSH 密钥对后,将公钥添加到 GitHub。单击 GitHub 帐户设置中的“SSH 和 GPG 密钥”。单击“创建 SSH 密钥”并粘贴您的公钥。
启用 SSH 的 Visual Studio 2022:在 Visual Studio 2022 中打开“团队资源管理器”。单击“设置”,然后单击窗格底部的“Git”。单击“全局设置”中“Git Config”旁边的“编辑”。将这些行添加到 GitConfig:
sshCommand=C:/Windows/System32/OpenSSH/ssh.exe
如果您在其他地方安装了 OpenSSH,请更新路径。
为 SSH 配置 Visual Studio 2022 后,使用“团队资源管理器”选项卡中的“克隆”按钮来克隆存储库。在“克隆”窗口中输入存储库的 SSH URL(例如 [email protected]:username/repository.git),然后单击“克隆”。
克隆存储库后,Visual Studio 2022 可以成为经过 SSH 验证的 Git 客户端。
Visual Studio 2022/Windows 2024 年 5 月 11 日。我遇到了几个问题,这是我使用几个网站的帮助解决它的方法:
1。安装 Windows 版 OpenSSH 客户端
在Windows搜索框中->可选功能->确保OpenSSH客户端存在或添加它
ssh 密钥通常安装在您的主目录 .ssh 子目录中
C:\Users
2。从 Visual Studio 安装适用于 Windows 的 git
在 Visual Studio 中->工具->获取工具和功能->(打开窗口安装程序)->选择各个组件选项卡->滚动到“代码工具”->选择“Git for Windows”->选择下载/安装选项并按关闭。
3.生成或检索 ssh 密钥
您可以从服务器检索密钥(确保它是 Unix/Linux 格式,即末尾只有 0D (CR) 而不是 0D 0A(CR LF 或 LF CR),否则您可能会在 Windows 上从 libcrypto 收到错误) 或使用以下命令生成一个: ssh-keygen -t rsa -b 2048
这将是 Windows 格式,因此您可以使用 dos2unix 或以文本模式将其传输到 unix 服务器,然后以二进制模式返回。
它应该以换行符结束,即十六进制的 0A。
将 *.pub 添加到 Linux/Unix 服务器上的 .ssh/authorized_keys 中
4。从命令提示符;连接到您的 git 存储库以在您的known_hosts 文件中设置主机密钥
现在检查并检索主机密钥
从 Windows 上的命令提示符(Windows 搜索框 -> Cmd.exe)
ssh -l <your server username> <server>
它可能会询问您是否要接受服务器密钥,验证并输入 yes
5。在某处创建一个空的测试目录并进入该目录。然后输入 git 克隆 git@:
例如
[email protected]:/home/git/repo/example.git
如果有效,您就可以开始了。如果不确定目录实际存在于存储库中,否则创建它
mkdir example.git
cd example.git
git init --bare
删除测试目录并从 Visual Studio 重新创建,请参阅 6
先退出 Visual Studio 并重新启动,否则您可能可以签出但无法推送!
6。您现在应该可以从 Visual Studio 中查看 Visual Studio->文件->克隆存储库...
git clone git@<your server ip>:<full path to your git repo and project>