一、在codeart上代码仓部署待链接计算机的SSH公钥
执行 git clone
命令时遇到的错误提示 Permission denied (publickey)
通常表示 SSH 身份验证失败。这可能是由于没有正确配置 SSH 密钥或者没有将公钥添加到目标 Git 服务器上的账号中。以下是解决此问题的步骤:
解决步骤
-
确认 SSH 密钥存在: 首先,您需要检查您的本地计算机上是否生成了 SSH 密钥对。您可以运行以下命令查看:
ls ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
如果没有这些文件,您需要生成新的 SSH 密钥对。使用以下命令生成密钥:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按照提示操作,您可以直接按
Enter
键以接受默认位置和文件名。如果想要为密钥设置密码可以输入密码(可选)。 -
将公钥添加到 Git 服务器: 如果您已经有 SSH 密钥,您需要将公钥(即
~/.ssh/id_rsa.pub
的内容)添加到目标 Git 服务器上的账户中。首先复制公钥,可以使用以下命令:cat ~/.ssh/id_rsa.pub
复制输出的内容,然后登录到您的 Git 服务器账户,将公钥添加到 SSH 密钥设置中。
-
检查权限: 确保 SSH 密钥的权限设置正确,您可以通过以下命令来设置权限:
chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub
4. 测试 SSH 连接: 在命令行中,使用以下命令测试 SSH 连接,以检查您是否能够成功连接到 Git 服务器:
ssh -T git@codehub-devops.cn-avicasgt-1.avicasgt.com
这条命令尝试与 Git 服务器的 SSH 连接。如果您看到类似于 “Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.” 的信息,表示您已经成功连接。
5. 重新尝试克隆仓库: 现在您可以再试一次执行 git clone
命令:
git clone git@codehub-devops.cn-avicasgt-1.avicasgt.com:406812e6a29c402699890e29c333af51/qemu-ucos.git
如果在另外一台机子上已经创建了密钥,且公钥已经部署到codearts上了,则可以将私钥copy到另外一台机子上使用。
二、利用vscode + git
1. 首先利用git clone命令将master中的代码库clone本地:
git clone git@codehub-devops.cn-avicasgt-1.avicasgt.com:406812e6a29c402699890e29c333af51/qemu-ucos.git
2. 创建分支
git branch /*查看分支*/
git branch "qemu-ucos-gugqf"
git checkout "qemu-ucos-gugqf"