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 热点速览」

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

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

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

一周万星的文本转语音开源项目「GitHub 热点速览」

上周的热门开源项目让我想起了「图灵测试」,测试者在不知道对面是机器还是人类的前提下随意提问,最后根据对方回复的内容,判断与他们交谈的是人还是计算机。如果无法分辨出回答者是机器还是人类,则说明机器已通过测试,具有人类的智力水平。 ​虽然现在大模型的回答还充满 AI “味”,可以一眼识破,但 GitHu

代码界的超级英雄:GitHub的奇幻冒险之旅

GitHub简介 GitHub是一个用于代码托管、版本控制和协作开发的平台。它于2008年2月8日由Chris Wanstrath、PJ Hyett和Tom Preston-Werner创立,目前由微软拥有。 GitHub是目前最流行的代码托管平台之一,拥有超过8000万个项目和超过2.7亿活跃用户

3 个好玩的前端开源项目「GitHub 热点速览」

单休的周末总是短暂的,还没缓过神新的一周就又开始了。如果你和我一样状态还没有完全恢复,那就让上周好玩的开源项目唤醒你吧!每周 GitHub 上总是有一些让人眼前一亮的开源项目,上周好玩的前端项目特别多。