Github使用ssh密钥登陆
Github使用ssh密钥登陆
- 生成SSH密钥
- 配置Github
- 检查SSH连接
- 使用Github
- 附录:更改密钥名称
- 方法一:为已创建的密钥改名
- 方法二:创建时使用新的名称
- 参考链接
想要从linux
命令行clone
github
仓库的话,目前不支持HTTPS
的方式了。那么不想使用Github CLI
的话,就必须配置SSH
连接了。
这里就总结一下如何生成ssh
公钥
和私钥
,并配置以登陆github
。
生成SSH密钥
Linux
自带生成SSH
密钥的程序。
打开终端,不用开启root
,输入
ssh-keygen -t rsa
就会在~/.ssh
下生成一个私钥id_rsa
,和一个公钥id_rsa.pub
。
生成过程中会询问是否设置passphrase
,这就相当于保护这个私钥的密码,避免被破译。
安全起见,建议设置密码。
配置Github
- 复制公钥文件的内容(可以用cat命令查看),
cat ~/.ssh/id_rsa.pub
Github
中,打开Settings
>SSH and GPG keys
>New SSH key
.
- 在
Key
文本框中粘贴上复制好的公钥内容,并且设置好Title
后,点击Add SSH key
。
.
检查SSH连接
在Linux
命令行中输入
ssh -T git@github.com
如果设置了passphrase
,此时会被要求输入设置好的passphrase
。
Enter passphrase for key 'pass/to/private/key':
之后,如果收到下面的提示,则表示设置成功。
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.
否则,可能会看到这样的提示
Permission denied (publickey).
这时可以参考这个链接进行问题解决 Error: Permission denied (publickey)
如果除了permission denied
以外,还出现了:sign_and_send_pubkey: signing failed: agent refused operation
的报错提示,有两种解决方法:
.ssh
文件夹由于手动创建的原因权限不足。运行下面这行代码即可chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
- 密钥没有被添加到缓存中。运行
ssh-add
来添加,随后运行ssh-add -l
来检测是否添加成功
使用Github
现在,就可以开心的在Linux
中clone
各种github
仓库了
附录:更改密钥名称
如果觉得id_rsa
这样的名字不够让人满意的话,可以通过下面的方式改名。
方法一:为已创建的密钥改名
首先,用mv
之类的命令更改~/.ssh
中的密钥名。
mv id_rsa new_private_key_name
mv id_rsa.pub new_public_key_name.pub
但是这样有时还是会出现Permission denied (publickey).
这样的情况.
这是因为,ssh
命令默认只会读取id_rsa
这个私钥,所以如果改变私钥名称的话,需要相应地修改配置文件~/.ssh/config
。
比如像下面这样:
Host github.com gist.github.com api.github.com
IdentityFile /path/to/renamed/private/key
方法二:创建时使用新的名称
Linux
下创建SSH
密钥时,可以利用参数指定新的名称
ssh-keygen -t rsa -f ~/.ssh/customized_key_name
如果出现Permission denied (publickey)
,请参照方法一中的解决办法。
参考链接
generating SSH keys - Github
common SSH problems - Github
ssh-keygen之后,生成的密码都叫id_rsa.pub,我想改名不行吗?- segmentfault
SSH原理与运用 - 阮一峰的网络日志
How to solve “sign_and_send_pubkey: signing failed: agent refused operation”?
Github使用ssh密钥登陆相关推荐
- 地平线旭日X3派试用 | ssh密钥登陆 蓝牙手柄连入ros
1.ssh密钥登陆 ssh登陆开发作为必修课,默认密码登陆不安全又得每次输密码,有点不雅,改之.在windows上使用的是Fluent Terminal(个人使用习惯). 1.1 因为经常使用macb ...
- MAC SSH密钥登陆
MAC SSH密钥登陆: 一般mac如果想通过ssh密钥登陆,常规的做法,自己生成密钥对,这样做的好处就是,自己只保留私钥即可,公钥 可以放置任意服务器, 如果接受别人给的私钥,只能存一个,如果有多个 ...
- GitHub 忘记SSH密钥
首先查看本地是否有.ssh文件 打开 Git Bash 后 运行cd ~/.ssh查看是否有该文件 如果本地有ssh密钥的话会有id_rsa.id_rsa.pub.known_hosts等文件. 如果 ...
- GitHub配置SSH密钥
一.生成SSH密钥 打开cmd或Git Bash输入,执行后有选项,一直按回车即可 ssh-keygen -t rsa 文件生成在用户文件夹下的.ssh目录中,我的是C:\Users\Tomato\. ...
- 配置Centos7 SSH密钥登陆及密码密钥双重验证
一.首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令: su root cd ~ 二.创建钥匙,命令:ssh-keygen -t rsa,一路按Y搞 ...
- 实现SSH密钥登陆Linux系统的方法(Linux公私钥生成)
密钥对实现思路 秘钥对配置文件 一,系统有秘钥对要实现秘钥登录的方式: 1,确认Linux系统有免密登录文件 SSH免密登陆设置 # cd /root/.ssh/ #ll authorized_key ...
- Centos7 SSH密钥登陆及密码密钥双重验证
一.首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令: su root cd ~ 二.创建钥匙,命令:ssh-keygen -t rsa,一路按Y搞 ...
- git连接到github(SSH无密码登陆)
[0]README 0.1)本文旨在尝试在linux环境下免密码连接到github,并进行push + pull projects in github by git commands. 0.1) 对s ...
- 烂泥:学习ssh之ssh无密码登陆
本文首发于烂泥行天下 最近一个月没有写过文章,主要是刚刚换的新工作.新公司服务器OS使用的是ubuntu server版,和以前熟悉的centos还是有很多不同的. 刚好这几天有时间,也是工作需要,学 ...
最新文章
- python property内建函数的介绍
- 苏联最早批量生产的晶体三极管
- 内存分析工具MAT的使用
- lamba统计最大值,最小值,平均值,总和,个数
- ES6 数组、对象的扩展
- Linux运维学习大纲
- mysql 复制功能_从MySQL复制功能中得到的一举三得实惠分析
- SQL ALTER TABLE 语句在项目中的使用
- 微信小程序审核不通过的解决方法
- php代码执行函数解析
- 阿拉伯数字转中文数字(大写或小写)
- Android广告图片轮播控件
- 如何建立个人的免费网站
- hiredis-vip
- 简单处理Ubuntu无法联网的问题
- github上fork,star,watch是什么意思
- oracle ora00353,ORA-00354 ORA-00353 ORA-00312异常处理
- 【数学建模暑期培训】Matlab绘图命令
- 基于新型的MEMS气体微密度计的密度和浓度测量应用
- 如何给el-table表格的指定单元格设置颜色
热门文章
- Java数组的赋值机制
- jquery实现app开发闹钟功能_趣味闹钟APP开发,随意切换闹钟叫醒功能
- C语言位操作详解(全网最全)
- 17 款程序员必备 Chrome扩展插件,爱了爱了
- 《Redis设计与实现》第4章 字典
- 转 精辟,太生动了,太形象了。应用于实践,价值无比!
- 该选哪个执行价的期权合约?
- 德州仪器启用深圳全新自动化产品分拨中心;SGS宣布与微软、中兴通讯等公司合作;阿维塔科技完成首轮战略融资 | 全球TMT...
- mac chrom添加vue-devtools
- PL/SQL修改表名