使用SSH推拉Github代码


快速使用

  1. ssh-keygen -t rsa -b 4096 -C "your_email@example.com 创建ssh密钥(一直回车,不要指定目录,不要设置密码)
  2. 将生成的 ~/id_ras.pub 中的内容复制到Github对应位置即可

1.SSH简介

SSH(Secure Shell)是一种用于在网络上安全地进行远程登录,文件传输或执行命令的协议。它通过加密通信的方式,保护了用户的身份验证信息和数据传输,防止被中间人攻击或窃听。

2. 如何使用SSH?

2.1 先看看本地是否已经创建过ssh密钥

键入命令: ls -al ~/.ssh ( 查看用户根目录下的 .ssh 文件夹中的内容), 是否包含以下中的一种:

id_rsa.pub
id_ecdsa.pub
id_ed25519.pub

如果存在任意一个,则说明已经创建过密钥,你可以删除重新创建,也可以将文件中的内容( 其实就是公钥 ) 直接复制到Github的SSH Key中, 如果该密钥没有密码,你就可以直接使用。

2.2 自己创建一个SSH的密钥对

键入密令:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
在这里插入图片描述

命令执行后,在 ~/.ssh/目录下将生成 id_rasid_ras.pub 两个文件, 其中id_ras.pub的内容就是密钥中的公钥

如果你的系统包含了新算法,也可以使用 ssh-keygen -t ed25519 -C "your_email@example.com" , 这将生成 id_ed25519.pub

2.3 将生成的公钥内容放置在Github上

登录你的Github账号, 点击 头像 -> Settings -> SSH and GPG keys -> new SSH key 执行创建
在这里插入图片描述

2.4 测试是否可用

  • 选取你的Github上的任意项目,复制其SSH项目链接
  • 本地开启命令行窗口 ,键入命令 git clone git@github.com:username/ProductName.git, 如果拉取成功,则说明配置完成!
  • 如果在2.2步骤中,创建密钥时设置了密码,则每次拉取项目时,需要输入密钥的密码才可以

3. SSH代理,管理密钥的密码

如果你在创建密钥时设置了密码,又不想每次拉取工程时都进行密码输入,可以将密码交由SSH的代理 ssh-agent来管理。

3.1 ssh-agent如何管理密钥?

第一步
打开命令行窗口,键入 eval "$(ssh-agent -s)"
该命令用于启动 SSH 代理,并将相关的环境变量设置在当前 shell 会话中,以便于后续的密钥管理

第二步
键入 ssh-add -K ~/.ssh/id_rsa
将SSH的私钥添加进SSH代理中 ,首次添加时需要输入 设置的密钥的密码

后续在此命令行窗口中,再去拉取代码时,将不需要再输入密钥的密码了

3.2 如果我重新开启一个命令行窗口, 则需要再次执行上述流程,如果简化?

将下述命令直接添加进入 ~/.zshrc 中,这样每次打开命令行窗口时,这两行命令都将先执行,也就不再需要手动输入了

eval "$(ssh-agent -s)"
ssh-add -K ~/.ssh/id_rsa

id_rsa 如果和你的命名不同,需要替换为你的密钥文件的名称


  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值