mac配置免密登陆github
(MacOS)Github配置免密登录
提示:其他远程仓库的SSHKey配置步骤都类似,例如:Gitee,GitHub、Gitlab等。
一、引言
Git有两种克隆代码的方式:一种是http,另外一种就是SSH。
用http方式拉取的仓库,每次向GitHub仓库推送代码都要输入Git的账号与密码,进行身份验证才可访问,非常麻烦。那么如何才能避免每次推送代码都要输入账号密码呢?
二、免密登陆原理
(1)免密登录机制
Git主机间的通信采用的是SSH协议,即Sercure Shell
协议。
该协议的免密登录机制,要求主机之间采用SSH-key
,即SSH密钥的方式进行身份验证。
SSH密钥包含“公钥与私钥",所以我们首先要了解什么是“公钥与私钥”,然后还要理解“公钥与私钥”在免密登录中的作用,即免密登录的工作原理。
(2)公钥与私钥
公钥(Public Key)与私钥(Private Key)是通过加密算法得到的一个密钥对(即一个公钥和一个私钥,也就是非对称加密方式)。公钥可对会话进行加密、验证数字签名,只有使用对应的私钥才能解密会话数据,从而保证数据传输的安全性。公钥是密钥对外公开的部分,私钥则是非公开的部分,由用户自行保管。
通过加密算法得到的密钥对可以保证在世界范围内是唯一的。使用密钥对的时候,如果用其中一个密钥加密一段数据,只能使用密钥对中的另一个密钥才能解密数据。例如:用公钥加密的数据必须用对应的私钥才能解密;如果用私钥进行加密也必须使用对应的公钥才能解密,否则将无法成功解密。
(3)免密码登录的工作原理
对于免密登录的机制,主要由两部分构成:构建与验证。
- 免密登录构建:
Git版本库所在的主机上生成一对密钥:公钥与私钥,保存到本地主机中。
Git版本库将公钥及用户信息(用户名,密码等)保存到GitHub上。 - 免密登录验证:
1、Git版本库向GitHub发送连接请求,包含Git版本库的用户信息。
2、GitHub从本地文件中查找是否存连接中包含的用户信息。若不存在:则拒绝访问,若存在:可以访问。
3、GitHub将加密后的随机字符串,发送给Git版本库。
4、Git版本库将加密后的随机字符串,使用私钥进行解密。
5、Git版本库解密后的字符发送给GitHub。
6、GitHub将接收到的字符串,与本地未加密的字符串进行比较,相同则可以访问,不同则被拒绝。
免密登录原理示意图:
简单的理解:
SSH Key
也可以简单的理解为你的身份标识,放在GitHub上面标明你是这个项目的一个开发人员,但是别人可以截获,但是你本机上的私钥无法截获,也就保证了每次传输是安全的。
三、具体配置
1. 配置全局的用户名和邮箱(不是必须)
git config --global user.name "xxx"
git config --global user.email "xxx.com"
2. 打开命令行终端,验证是否有ssh keys,看下返回的结果中是否已经存在了.pub结尾的文件
ls -alh ~/.ssh
如果有.pub结尾的文件直接打开,复制到github上的SSH keys,如果没有就继续执行
2. 使用如下命令生成ssh-keygen密钥,然后一路回车。其中,“邮箱地址”是你的github关联的邮箱。
ssh-keygen -t rsa -C "邮箱地址"
这个时候在默认路径下就生成了两个文件,公钥和私钥。进入主目录下的.ssh文件夹,公钥为id_rsa.pub,私钥为id_rsa。
执行以下命令查看公钥内容,打开id_rsa.pub文件,复制此内容
cat ~/.ssh/id_rsa.pub
3. 点击账户头像后的下拉三角,选择’settings’。
4. 点击’SSH and GPG keys’,添加ssh公钥。
5. 填写标题,粘贴公钥,点击Add SSH key,输入GitHub密码即可
6. 验证GitHub是否链接
ssh -T git@github.com
这样github的ssh就可以链接mac了,可以上传和下载代码了~~
我把解决方案写到了github page里,内容正在佛系更新中,点击此链接可以访问https://salutegf.github.io/Salute_MacOS/#/
Reference
- https://baijiahao.baidu.com/s?id=1705605704758775994&wfr=spider&for=pc
mac配置免密登陆github相关推荐
- Git 详细教程之五:SSH 免密登陆 GitHub
由于每次 Git 对远程库 GitHub 进行推送(push)等操作时都需要进行登陆验证才可以进行,比较麻烦.本篇博客提供了一种新的链接方式:『Git 详细教程之五:SSH 免密登陆 GitHu ...
- Hadoop用户配置免密登陆
Hadoop用户配置免密登陆, 参考其他免密配置方法自己总结的更简洁的步骤. 要实现A免密登陆B,需要把A生成的公钥放到B的对应目录下, 要实现ABC之间免密登陆,把3者的公钥汇总到一个文件中, 然后 ...
- git 配置免密登陆
SSH免密码登录配置 注意:这些命令需要在git bash here中敲 注意先配置好账户名和邮箱 # git config user.name zhangsan # git config user. ...
- 第六天 - 安装第二、三台CentOS - SSH免密登陆 - hadoop全分布式安装、配置、集群启动
第六天 - 安装第二.三台CentOS - SSH免密登陆 - hadoop全分布式安装.配置.集群启动 第六天 - 安装第二.三台CentOS - SSH免密登陆 - hadoop全分布式安装.配置 ...
- DM8:免密登陆配置
1.什么是免密登陆?? 使用过oracle的朋友都知道,oracle在安装完之后,一般默认开启操作系统认证登陆,没有密码的情况下,可以通过进入服务器,通过操作系统认证SQLPLUS / AS SYS ...
- linux SSH免密登陆 附带免密登陆脚本
1.首先修改集群内的映射文件 vi /etc/hosts 在里面最后添加集群内的映射 192.168.43.120 master 192.168.43.121 slave1 192.168.43.12 ...
- 基于三台虚拟机配置ssh免密登陆
目录 一.前提准备 二.配置ssh免密登陆(Hadoop102,hadoop103,hadoop104) 三.配置三台免密登陆 一.前提准备 qian ti z bqian ti zqian tiqi ...
- mac mysql 免密登录_Mac 免密登陆
用ssh-copy-id 1. 首先在你的本地mac上打开一个shell,进入到~/.ssh目录,然后看一下该目录下的文件 cd ~/.ssh ls // 看一下文件,看看有没有已经生成过的公私钥对 ...
- ubuntu 18.04配置SSH及免密登陆
补充下安装环境: ubuntu:18.04.1 putty:Release 0.72 SSH安装 ssh包括server端和client端, ubuntu 18.04已经安装了client端,可以通过 ...
最新文章
- [微信小程序]商城之购买商品数量实现
- 5.Scrapy与相关应用
- 一套Python试题
- ipsan虚拟存储服务器,HP P4000 IPSAN存储系统
- $_FILES error(笔记)
- [JLOI 2012]树
- windows之实现3D立体效果的三种方法
- [云炬创业学笔记]第三章商业创意的发掘与评估测试4
- 卷积云神经网络_2018.10
- android 释放bitmap fragment,,为什么重复Replace Fragment会内存泄漏
- linux socket 阻塞服务端 非阻塞客户端,linux下异步RPC的阶段性总结-非阻塞SOCKET客户端...
- 外媒:伊朗政府封锁加密通讯应用Signal
- 使用Gulp来加速你的开发
- IDEA连接服务器执行python程序
- visual studio插件开发dll类库免加全局缓存处理办法
- Ubuntu16.04 安装 VIM 代码自动补全插件 YCM
- 31:几何算法--点集的凸包
- java微信二维码登录
- linux系统微内核,微内核操作系统的定义及用微内核设计的系统,附Linux是单内核结构介绍...
- [py练习] 返回朋友名字的list