前言
使用SSH可能会比HTTPS更快,特别是在网络延迟较高或带宽受限的环境中,SSH协议在传输数据时通常更加高效。
1.检查本地是否已经存在SSH密钥对
导航到SSH密钥目录:SSH密钥通常存储在用户主目录下的.ssh文件夹中
cd ~/.ssh
如果.ssh目录不存在,这通常意味着你还没有生成过SSH密钥对
列出目录内容:使用ls命令列出.ssh目录中的文件
ls -l
如果你看到id_rsa和id_rsa.pub这两个文件,那么你已经有了SSH密钥对,那么你可以跳过步骤2,直接进入步骤3
2.生成SSH密钥对
打开终端
使用ssh-keygen命令生成一个新的SSH密钥对
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
将 your_email@example.com 替换为你的电子邮件地址
系统会提示你输入密钥的保存位置(通常默认在 ~/.ssh/ 目录下)。如果你接受默认位置,只需按 Enter 键
系统会提示你输入一个密码短语(passphrase)来保护你的私钥。这是一个可选步骤,但如果你设置了密码短语,每次使用私钥时都需要输入它。如果你不想设置密码短语,只需留空并按 Enter 键。
密钥对生成后,你会在 ~/.ssh/ 目录下看到两个新文件:id_rsa(私钥)和 id_rsa.pub(公钥)
3.添加SSH公钥到GitHub账户
打开你的 GitHub 账户。
点击右上角的头像,然后选择 “Settings”(设置)。
在左侧菜单中,点击 “SSH and GPG keys”(SSH 和 GPG 密钥)。
点击 “New SSH key”(新 SSH 密钥)按钮。
在 “Title”(标题)字段中,输入一个描述性名称。
使用文本编辑器(如 nano 或 vim)打开你的公钥文件:
nano ~/.ssh/id_rsa.pub
或者,你可以使用 pbcopy 命令(如果安装了 xclip 或 xsel,也可以使用这些工具)将公钥内容复制到剪贴板中:
xclip -sel clip < ~/.ssh/id_rsa.pub
然后,在 GitHub 的 “Key”(密钥)字段中粘贴公钥内容。
4.测试SSH连接
在终端中输入以下命令来测试SSH连接是否成功
ssh -T git@github.com
首次连接时,你会看到一个提示,询问你是否信任 GitHub 的 SSH 密钥指纹。输入 yes 以接受并保存密钥。如果一切正常,你将看到一条确认消息
5.使用SSH克隆GitHub仓库
使用Git的clone命令,并通过SSH URL来克隆你的GitHub仓库
将your_username和your_repository替换为你的GitHub用户名和仓库名
git clone git@github.com:your_username/your_repository.git
如果想要克隆官方仓库,以openpose为例,可以这么做:
git clone git@github.com:CMU-Perceptual-Computing-Lab/openpose.git
总结
在Ubuntu上使用SSH克隆GitHub仓库的步骤主要包括设置SSH密钥对、将公钥添加到GitHub账户、然后在命令行中使用SSH URL代替HTTPS URL来执行git clone命令。这样不仅能提高克隆速度,还能增强安全性。