GitHub SSH 快速配置

github,ssh · 浏览次数 : 0

小编点评

**脚本名称:**github_ssh.sh **内容:** ```bash #!/bin/bash # 设置GitHub的用户名和邮箱 git_username=$(git config --global user.name) git_email=$(git config --global user.email) # 生成一个新的 SSH 密钥 echo "\n生成新的SSH密钥..." ssh-keygen -t rsa -C "$git_email" # 获取SSH密钥文件路径 ssh_key_path=$(echo ~)/.ssh/id_rsa) # 将SSH私钥添加到ssh-agent echo "\n将SSH私钥添加到ssh-agent" eval "$(ssh-agent -s)" ssh-add "$ssh_key_path" # 将SSH公钥添加到GitHub账户 echo "\n将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 "\n测试SSH连接..." ssh -T git@github.com if [[ $? -eq 0 ]]; then echo "如果提示中的用户名是您的,说明SSH key已经配置成功。" # 使用chmod命令为脚本添加执行权限 chmod +x github_ssh.sh # windows 下直接在sh脚本所在目录右键点击Open Git Bash Here # 终端输入bash ./github_ssh.sh else echo "请在 GitHub 页面进行配置。" fi ``` **使用方法:** 1. 保存脚本名为 `github_ssh.sh`,将其移动到您的本地磁盘上。 2. 双击 `github_ssh.sh` 运行脚本。 3. 脚本将引导您输入相关信息并完成 Git SSH 连接的配置。 4. 配置完成后,您可以使用 SSH 连接克隆或推送代码到 GitHub 远程仓库。

正文

每次更换系统或者电脑时,都需要重新配置一番 Github SSH 的验证,记性不太好,写了一个快速部署的辅助脚本,直接安装脚本提示使用即可,经测试,Linux 和 Windows 下均能使用。

脚本功能

  1. 设置 Git 用户名和邮箱
    脚本会提示用户输入 Git 用户名和邮箱,并将其设置为全局配置。

  2. 生成新的 SSH 密钥
    脚本会自动生成新的 SSH 密钥对(私钥和公钥),用于与 GitHub 建立安全连接。在生成过程中,用户可以持续按回车键使用默认设置。

  3. 将 SSH 私钥添加到 ssh-agent
    脚本会自动将生成的 SSH 私钥添加到 ssh-agent 中,以便在后续推送或拉取代码时无需每次手动输入密钥。

  4. 将 SSH 公钥复制到剪贴板(可选)
    如果用户的系统安装了 xclip 工具,脚本会尝试自动将 SSH 公钥内容复制到剪贴板,方便用户在 GitHub 上配置。如果系统未安装 xclip,脚本会输出公钥内容,提示用户手动复制。

  5. 提供 GitHub 配置指引
    脚本会给出在 GitHub 上添加 SSH 公钥的详细步骤,引导用户完成配置。

  6. 测试 SSH 连接
    最后,脚本会尝试通过 SSH 连接到 GitHub,验证配置是否成功。如果连接成功,将输出相应的提示信息。

使用方式

  1. 确保您的系统已安装 Git 和 SSH 相关工具。
  2. 下载或复制该脚本代码,保存为一个 .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已经配置成功。"
  1. 在终端中,使用 chmod 命令为脚本添加执行权限(windows直接下一步):
chmod +x github_ssh.sh
  1. 执行脚本:
./setup_git_ssh.sh

# windows 下
# 直接在 sh 脚本所在目录右键点击 Open Git Bash Here
# 终端输入 bash ./github_ssh.sh
  1. 根据脚本提示输入相关信息,并按照指引在 GitHub 上完成配置。
  2. 配置完成后,您可以使用 SSH 连接克隆或推送代码到 GitHub 远程仓库。

通过使用该脚本,您可以快速完成 Git SSH 连接的配置,无需手动执行繁琐的步骤,从而提高效率和便利性。该脚本适合初学者或希望快速配置 Git SSH 连接的用户使用。

与GitHub SSH 快速配置相似的内容:

GitHub SSH 快速配置

每次更换系统或者电脑时,都需要重新配置一番 Github SSH 的验证,记性不太好,写了一个快速部署的辅助脚本,直接安装脚本提示使用即可,经测试,Linux 和 Windows 下均能使用。 脚本功能 设置 Git 用户名和邮箱 脚本会提示用户输入 Git 用户名和邮箱,并将其设置为全局配置。 生

番外1.ssh连接管理器

[TOC] # 本篇前瞻 学习完go语言基础的专栏,我们究竟写出怎么样的实用工具呢?我在github上开源的[ssh连接管理器](https://github.com/Breeze0806/ssh-mgr)就是一个比较好的样例。 # 项目背景 这个项目的背景是之前我在上班时连接生产机器时只能使用“s

云服务器配置VPN访问github等

云服务器配置VPN访问github等 使用华为云服务器器默认无法访问外网,我使用 ikuuu IKUUU VPN,通过他访问外网。 我本地使用windows系统,Tabby终端。 Tabby终端配置云服务器ssh连接,点击setting→Profiles & connections → New pr

基于TOTP算法的Github两步验证2FA(双因子)机制Python3.10实现

从今年(2023)三月份开始,Github开始强制用户开启两步验证2FA(双因子)登录验证,毫无疑问,是出于安全层面的考虑,毕竟Github账号一旦被盗,所有代码仓库都会毁于一旦,关于双因子登录的必要性请参见:别让你的服务器(vps)沦为肉鸡(ssh暴力破解),密钥验证、双向因子登录值得拥有。 双因

ed25519加密签名算法及应用

刷知乎时看到一篇文章,很感兴趣,来学习一下! 转载文章:ed25519加密签名算法及应用 初次使用Github时都需上传本地的公钥,这时需要提前在本地生成密钥对,使用的是ssh-keygen命令: ssh-keygen -C "your_email@example.com" 该命令属于OpenSSH

英伟达又向开源迈了一步「GitHub 热点速览」

大家是否还记得 2012 年,Linux 之父 Linus Torvalds 在一次活动中“愤怒”地表达了对英伟达闭源 Linux GPU 驱动的不满?这个场景曾是热门表情包,程序员人手一个。

将传统应用带入浏览器的开源先锋「GitHub 热点速览」

现代浏览器已经不再是简单的浏览网页的工具,其潜能正在通过技术不断地被挖掘和扩展。得益于 WebAssembly 等技术的出现,让浏览器能够以接近原生的速度执行非 JavaScript 语言编写的程序,从而打开了浏览器的“潘多拉魔盒”。

GitHub 创始人资助的开源浏览器「GitHub 热点速览」

你是否注意到,现在主流的浏览器如 Chrome、Edge、Brave 和 Opera 都采用了谷歌的 Chromium 引擎?同时,谷歌每年不惜花费数十亿美元,确保其搜索引擎在 Safari 中的默认地位,甚至连 Firefox 也难逃商业利益的影响,这使得谷歌在浏览器和搜索引擎市场“一家独大”。

免费且离线的同声翻译利器「GitHub 热点速览」

开源的翻译软件众多,但大多数依赖于翻译 API 服务,因此就需要联网、有次数限制、并非完全免费。然后,本周上榜的是一款可以离线使用的 Android 翻译软件:RTranslator,它创建于 4 年前,最初也是基于谷歌翻译 API 开发,但在上周发布的 2.0 版本中,采用了全新的 NLLB+Wh...

开源的网络瑞士军刀「GitHub 热点速览」

上周的开源热搜项目可谓是精彩纷呈,主打的就一个方便快捷、开箱即用!这款无需安装、点开就用的网络瑞士军刀 CyberChef,试用后你就会感叹它的功能齐全和干净的界面。不喜欢 GitHub 的英文界面?GitHub 网站汉化插件 github-chinese,让英语不好的同学实现无障碍浏览 GitHu...