GitHub SSH 快速配置

简介: 这是一个自动化脚本,用于简化设置 Git SSH 连接的过程。功能包括:设置 Git 用户名和邮箱、生成新的 SSH 密钥、将 SSH 私钥添加到 ssh-agent、可选复制 SSH 公钥到剪贴板、提供 GitHub 配置指引以及测试 SSH 连接。用户需确保安装 Git 和 SSH 工具,然后下载脚本并赋予执行权限,按照提示操作即可。适合 Git 初学者或需要快速配置 SSH 的用户。

脚本功能#

  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 连接的用户使用。

相关文章
|
28天前
|
分布式计算 Hadoop 网络安全
杨校老师课堂之集群内SSH免密登录功能配置
杨校老师课堂之集群内SSH免密登录功能配置
24 0
|
1月前
|
Ubuntu Linux Shell
github用存在的私钥在Linux上配置免密登录
在Linux上配置GitHub免密登录,使用已有的私钥。系统环境为Ubuntu 22.04.3 LTS。步骤包括:1) 将名为`github`的私钥文件上传至`~/.ssh/github`;2) 设置正确权限`chmod 600 ~/.ssh/github`和`chmod 700 ~/.ssh`;3) 启动SSH代理并添加私钥`ssh-agent -s`和`ssh-add ~/.ssh/github`。完成上述步骤后,可以无缝使用GitHub。
34 0
|
1月前
|
Shell 网络安全 开发工具
github多用户ssh配置
在Windows 10环境下,当需使用多个GitHub账号进行开发操作时,可通过生成多个SSH密钥对并配置SSH `config` 文件实现。步骤包括:1) 使用`ssh-keygen`命令为每个账号生成密钥对,保存在`C:\Users\&lt;USERNAME&gt;\.ssh`目录;2) 编辑`config`文件,设定每个Host对应的身份文件和用户信息,如果需要,配置代理;3) 验证通过`git clone`不同仓库来确保配置正确。
36 0
|
7天前
|
网络安全 开发工具 git
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
10 1
|
21天前
|
网络协议 Linux 网络安全
Linux配置SSH允许TCP转发
Linux配置SSH允许TCP转发
21 1
|
1天前
|
网络安全 开发工具 git
|
6天前
|
网络安全 开发工具 git
使用git克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )
所以,你可以安全地忽略这个警告,它不会影响到你使用git克隆仓库。如果你已经成功克隆了仓库,那么一切都在正常工作。如果你在克隆过程中遇到其他问题,那可能需要查看具体的错误信息来解决。
5 0
|
20天前
|
网络协议 Linux Shell
如何在 CentOS 中配置 SSH 服务的 TCP 端口转发
如何在 CentOS 中配置 SSH 服务的 TCP 端口转发
37 0
|
27天前
|
网络安全 数据安全/隐私保护
分布式系统详解--框架(Hadoop-Ssh免密登陆配置)
分布式系统详解--框架(Hadoop-Ssh免密登陆配置)
19 0
|
1月前
|
安全 网络安全 开发工具
【GIT】GitHub添加ssh密钥
【GIT】GitHub添加ssh密钥
26 0