Git设置SSH

GitHub上连接已有仓库时的认证,是通过使用SSH的公开密钥认证方式进行的。我们首先来创建SSH key,并将其添加到GitHub上。

前提是要初始化设置姓名和邮箱地址

1、创建SSH Key


$ ssh-keygen -t rsa -C "your_email@163.com"

按回车键后输入密码和确认密码

创建SSH Key成功

id_rsa 文件时私有密钥 id_rsa.pub是公有密钥

2、获取公有密钥

$ cat ~/.ssh/id_rsa.pub

3、GitHub添加公开密钥

点击GitHub有上角账户设置按钮(Setting),选择SSH and GPG keys,点击new ssh Key

输入名称和密钥 点击add ssh Key

4、测试认证成功

$ ssh -T git@github.com

连接成功后,接下来每次连接github通过密钥进行认证,不需要再输入用户名和密码,简单方便。

    注意:如果使用的是HTTPS类型的remote URL,则在提交代码时,仍需要输入用户名和密码,以验证身份

### 配置 Git 使用 SSH 进行身份验证 为了使 Git 能够通过 SSH 协议与远程仓库通信并执行操作,如 `git push` 或者 `git clone` ,需要完成一系列设置来启用基于公钥加密的身份验证。 #### 创建新的 SSH 密钥对 如果尚未创建过 SSH 密钥,则可以通过命令行工具生成一对密钥: ```bash ssh-keygen -t ed25519 -C "your_email@example.com" ``` 上述命令会提示指定保存位置,默认情况下可以直接按回车键接受默认路径;之后还会询问密码短语用于保护私钥文件。此过程完成后会在用户的主目录下的 `.ssh` 文件夹中找到两个新文件——一个是私钥 (`id_ed25519`) 另一个是对应的公钥(`id_ed25519.pub`) [^3]。 #### 添加 SSH 私钥到 SSH Agent 中 为了让计算机记住这个私钥,在每次启动终端时都需要将其加载至 SSH agent: 首先确认 ssh-agent 是否正在运行,并配置环境变量以便后续调用它: 对于 Linux 和 macOS 用户来说可以这样做: ```bash eval "$(ssh-agent -s)" ``` 接着添加刚刚生成好的私钥给代理程序管理: ```bash ssh-add ~/.ssh/id_ed25519 ``` 这一步骤只需做一次即可长期有效。 #### 将 SSH 公钥添加到 GitHub 帐户下 复制位于`.ssh/id_ed25519.pub`中的全部内容,登录GitHub网站后进入账户设置页面里的SSH and GPG keys部分点击 New SSH key按钮粘贴进去并提交保存。 #### 更新本地项目的远端地址为 SSH 形式 最后也是最重要的环节就是修改现有项目里所使用的远程仓库链接由 HTTPS 改成 SSH 方式。具体做法如下所示: 假设当前工作区已经克隆了一个名为 testrepo 的库下来,那么现在要做的就是改变它的上游源指向: ```bash cd path/to/testrepo git remote set-url origin git@github.com:username/testrepo.git ``` 这样就完成了整个迁移流程,以后再对该 repo 执行任何涉及网络传输的操作都会自动采用更安全高效的 SSH 加密通道来进行认证握手了[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值