在ubuntu系统上生成SSH密钥,并把对应的公开密钥添加到GitHub账户

在ubuntu系统上生成SSH密钥,并把对应的公开密钥添加到GitHub账户


第1步:检查SSH密钥
打开终端,并键入命令:
ls -a ~/.ssh
# 列出.ssh 目录中存在的文件
检查这个目录列表,看看是否已经有了公共SSH密钥。
默认的公共密钥文件名字类似如下:
id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub

如果怕损坏原有的密钥,请作好备份。键入如下命令

mkdir key_backup

cp ~/.ssh/id_* key_backup


第2步:生产一个新的SSH密钥
在终端上键入命令: 【请将 your_email@example.com 替换为你的个人email地址】
ssh-keygen -t rsa -C "your_email@example.com"
# 用提供的邮件作为标签创建一个新的SSH密钥。
回车后会有提示"Enter a file in which to save the key",


这时按照默认设置直接按回车键,
接下来会要求你输入密码并再次输入进行确认(直接两次回车就是认为无密码),
然后你会看到类似如下提示:

再查询目录:


第3步:把你的SSH密钥加入到GitHub账户上
注意,你的密钥也可能是id_dsa.pub, id_ecdsa.pub 或者 id_ed25519.pub类似的名字。

在你的GitHub页面的右上角点击 Settings;
在Personal settings侧栏上点击 SSH keys;
再点击Add SSH key;
在Title字段为你的新密钥添加一个描述性的标签,例如,你用的联想Y460P笔记本电脑,
你可以把这个密钥叫作“key of Y460P”;
用你的文本编辑器打开你的公共密钥文件,

或者使用命令:

cat ~/.ssh/id_rsa.pub

然后复制查出来的文本段,

复制全部内容粘贴到Key区域;

然后点击Add key,并输入你的GitHub账户密码验证确认。

第4步:测试验证
为了确保以上做的工作有效,你要尝试SSHing到GitHub。
在终端上键入命令:
ssh -T git@github.com
# 尝试SSH到GitHub
可能会提示你输入你在第2步中输入的密码。

然后你很可能看到类似如下消息:
The authenticity of host 'github.com (192.30.252.129)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
不要担心!就是应该这样。
核实这个指纹与你第2步中生成的指纹是匹配的,然后键入 yes,
你应该看到如下提示:
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.
如果这个username是你的GitHub账户名,那么你就成功地设置了你的SSH密钥。Ps:不用管"shell access" 提示消息。


不巧的是我在测试时出错了,提示消息如下:

然后我就用命令cat -n /etc/ssh/ssh_config查看提示消息中的文件,发现问题在第55行


PermitRootLogin no 这一句配置导致了SSH连接失败。

于是我修改ssh_config文件,加#注释掉第55行并保存文件。

再次尝试,终于成功了


现在可以用命令git fetch origin来获取github上已经关联的仓库的更新了微笑


解决git每次推送都需要输入用户信息验证的问题:
修改仓库下的 .git/config 文件,将
[remote "origin"]
    url = https://github.com/username/repo.git
修改为
[remote "origin"]
    url = git@github.com:username/repo.git


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值