在 Ubuntu 系统上使用 SSH 拉取 GitHub 代码,需要先完成 SSH 密钥的配置,确保与 GitHub 建立安全连接,之后就可以使用 SSH 地址拉取代码。以下是详细步骤:
1. 检查是否已安装 SSH
在 Ubuntu 系统中,大多数情况下已经预装了 SSH 客户端。你可以通过以下命令来验证:
ssh -V
如果显示了 SSH 版本信息,说明 SSH 已安装;若未安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install openssh-client
2. 生成 SSH 密钥
若系统中没有 SSH 密钥,需要生成新的 SSH 密钥。在终端中执行以下命令:
ssh-keygen -t ed25519 -C "your_email@example.com"
-t ed25519:指定密钥类型为 Ed25519,这是一种较新且安全的密钥类型。若系统不支持 Ed25519,可使用-t rsa -b 4096生成 RSA 密钥。-C "your_email@example.com":注释信息,通常使用你的 GitHub 注册邮箱,方便识别该密钥。
执行命令后,终端会提示你选择密钥的保存位置和设置密码(可直接按回车键不设置密码)。例如:
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/your_username/.ssh/id_ed25519):
直接按回车键使用默认保存位置。若要设置密码,输入密码并确认;若不设置,直接按回车键。
3. 启动 SSH 代理并添加私钥
生成密钥后,启动 SSH 代理并将私钥添加到代理中:
eval "$(ssh-agent -s)"
该命令会启动 SSH 代理。接着,将生成的私钥添加到代理中,对于 Ed25519 密钥,执行:
ssh-add ~/.ssh/id_ed25519
如果是 RSA 密钥,执行:
ssh-add ~/.ssh/id_rsa
4. 将 SSH 公钥添加到 GitHub 账户
使用文本编辑器打开公钥文件:
nano ~/.ssh/id_ed25519.pub
或者使用 vim:
vim ~/.ssh/id_ed25519.pub
在 nano 中,使用箭头键移动光标到文件开头,然后按住 Shift 键和箭头键选择公钥的所有内容,最后按下 Ctrl + Shift + C 复制内容(在支持鼠标操作的终端中,也可以使用鼠标直接选择并复制)。在 vim 中,按下 v 进入可视化模式,使用箭头键选择内容,然后按下 y 复制,最后在需要粘贴的地方按下 Ctrl + Shift + V 粘贴。
-
登录 GitHub 账户,点击右上角的头像,选择 “Settings”。
-
在左侧菜单中,点击 “SSH and GPG keys”。
-
点击 “New SSH key” 按钮。
-
在 “Title” 字段中,为 SSH 密钥设置一个描述性名称,方便识别。
-
在 “Key” 字段中,粘贴之前复制的 SSH 公钥内容。
-
点击 “Add SSH key” 按钮完成添加。
5. 测试 SSH 连接
添加公钥后,通过以下命令测试与 GitHub 的 SSH 连接:
ssh -T git@github.com
执行该命令后,可能会看到安全警告,提示是否继续连接,输入 yes 并按回车键。若看到类似以下消息,说明连接成功:
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
其中 username 是你的 GitHub 用户名。
6. 使用 SSH 拉取 GitHub 代码
完成上述步骤后,就可以使用 SSH 地址拉取 GitHub 代码了。在 GitHub 仓库页面,点击 “Code” 按钮,选择 “SSH” 选项,复制仓库的 SSH 地址。然后在终端中执行以下命令:
git clone git@github.com:username/repo.git
将 git@github.com:username/repo.git 替换为你复制的实际 SSH 地址。执行该命令后,Git 会从 GitHub 仓库下载代码到当前目录下的一个新文件夹中,该文件夹名称与仓库名称相同。
通过以上步骤,你就可以在 Ubuntu 系统上使用 SSH 成功拉取 GitHub 代码。