每次更换系统或者电脑时,都需要重新配置一番 Github SSH 的验证,记性不太好,写了一个快速部署的辅助脚本,直接安装脚本提示使用即可,经测试,Linux 和 Windows 下均能使用。
设置 Git 用户名和邮箱
脚本会提示用户输入 Git 用户名和邮箱,并将其设置为全局配置。
生成新的 SSH 密钥
脚本会自动生成新的 SSH 密钥对(私钥和公钥),用于与 GitHub 建立安全连接。在生成过程中,用户可以持续按回车键使用默认设置。
将 SSH 私钥添加到 ssh-agent
脚本会自动将生成的 SSH 私钥添加到 ssh-agent 中,以便在后续推送或拉取代码时无需每次手动输入密钥。
将 SSH 公钥复制到剪贴板(可选)
如果用户的系统安装了 xclip
工具,脚本会尝试自动将 SSH 公钥内容复制到剪贴板,方便用户在 GitHub 上配置。如果系统未安装 xclip
,脚本会输出公钥内容,提示用户手动复制。
提供 GitHub 配置指引
脚本会给出在 GitHub 上添加 SSH 公钥的详细步骤,引导用户完成配置。
测试 SSH 连接
最后,脚本会尝试通过 SSH 连接到 GitHub,验证配置是否成功。如果连接成功,将输出相应的提示信息。
.sh
文件,例如 github_ssh.sh
。#!/bin/bash
echo "本脚本用于快速配置Git SSH连接。"
# 设置GitHub的user name和email
echo "请输入您的Git用户名:"
read git_username
git config --global user.name "$git_username"
echo "请输入您的Git邮箱:"
read git_email
git config --global user.email "$git_email"
# 生成一个新的SSH密钥
echo ""
echo "生成新的SSH密钥..."
echo "接下来的输入中,你可以持续的回车"
ssh-keygen -t rsa -C "$git_email"
# 获取SSH密钥文件路径
ssh_key_path=$(echo ~)/.ssh/id_rsa
# 将SSH私钥添加到 ssh-agent
echo ""
echo "将SSH私钥添加到ssh-agent..."
eval "$(ssh-agent -s)"
ssh-add "$ssh_key_path"
# 将SSH公钥添加到GitHub账户
echo ""
echo "将SSH公钥添加到GitHub账户..."
ssh_key_pub=$(echo ~)/.ssh/id_rsa.pub
if command -v xclip >/dev/null; then
echo "复制SSH公钥内容到剪贴板..."
xclip -selection clipboard < "$ssh_key_pub"
else
echo "无法自动复制SSH公钥,请手动复制以下内容:"
cat "$ssh_key_pub"
fi
echo ""
echo "请在 Github 页面进行配置"
echo "1.请登录GitHub,点击头像,然后在 Settings 页面点击左侧 SSH and GPG keys,随后请点击右上角绿色的 New SSH key。"
echo "2.在Title输入框内,为您的新key取个名字,在Key输入框内,粘贴前面复制好的公钥内容,您无需修改 Key type 下拉框,直接点击 Add SSH key 按钮即可。"
echo "完成后按任意键继续..."
read -n 1 -s
# 测试连接
echo ""
echo "测试SSH连接..."
echo "如果提示你需要继续连接,请输入yes!"
ssh -T git@github.com
echo ""
echo "如果提示中的用户名是您的,说明SSH key已经配置成功。"
chmod
命令为脚本添加执行权限(windows直接下一步):chmod +x github_ssh.sh
./setup_git_ssh.sh
# windows 下
# 直接在 sh 脚本所在目录右键点击 Open Git Bash Here
# 终端输入 bash ./github_ssh.sh
通过使用该脚本,您可以快速完成 Git SSH 连接的配置,无需手动执行繁琐的步骤,从而提高效率和便利性。该脚本适合初学者或希望快速配置 Git SSH 连接的用户使用。
大家是否还记得 2012 年,Linux 之父 Linus Torvalds 在一次活动中“愤怒”地表达了对英伟达闭源 Linux GPU 驱动的不满?这个场景曾是热门表情包,程序员人手一个。