美文网首页github ssh前端
Mac下Github的SSH公钥生成记录

Mac下Github的SSH公钥生成记录

作者: Eugene_iOS | 来源:发表于2017-02-09 11:42 被阅读602次

前言:

自己作死下载了多个破解软件,不知道那个可能程序有问题,导致了电脑重启后无法开机,苦逼的只能重装系统,所以之前的所有配置都需要重新弄。所以破解软件请谨慎安装

Git安装

直接下载安装 Xcode,高版本Xcode已经默认集成了Git 。

生成SSH key

SSH key提供了一种与GitHub通信的方式,通过这种方式,能够在不输入密码的情况下,将GitHub作为自己的remote端服务器,可以实现本地 Git 仓库和 GitHub 仓库之间的数据传输,方便进行版本控制。

大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。

步骤:

  • 首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。进去看看:
$ cd ~/.ssh
$ ls
  id_dsa       known_hosts
  id_dsa.pub     config   
  • 关键是看有没有用 something 和 something.pub 来命名的一对文件,这个 something 通常就是 id_dsa 或 id_rsa。有 .pub 后缀的文件就是公钥,另一个文件则是密钥。如果已经有了,可直接跳到打开id_rsa.pub,然后copy到GitHub。如果没有,打开终端(Shell) ,创建 SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/schacon/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/schacon/.ssh/id_rsa.
Your public key has been saved in /Users/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
43:c5:5b:5f:b1:f1:50:43:ad:20:a6:92:6a:1f:9a:3a schacon@agadorlaptop.local

⚠️注意它先要求你确认保存公钥的位置(.ssh/id_rsa),然后它会让你重复一个密码两次,如果不想在使用公钥的时候输入密码,可以留空或直接一路回车确定下就安装好了。查看是否成功:

$ cd ~/.ssh
$ ls
id_rsa
id_rsa.pub
  • 打开 id_rsa.pub文件,里面就有需要的ssh key。
    在终端输入命令打开id_rsa.pub,然后copy。
vim ~/.ssh/id_rsa.pub

 $ cat ~/.ssh/id_rsa.pub
拷贝公钥

另注:所有做过这一步的用户都得把它们的公钥给你或者 Git 服务器的管理员(假设 SSH 服务被设定为使用公钥机制)。他们只需要复制 .pub 文件的内容然后发邮件给管理员。

将SSH Key添加到GitHub中

登陆 GitHub,打开“SSH and GPG Keys”页面:


将SSH Key添加到GitHub中

最后测试github是否连接成功

$ssh -T git@github.com
如果显示:
Are you sure you want to continue connecting (yes/no)?  ##输入yes##
接下来如果正常的话,会出现如下提示:
Hi ZyjEugene! You've successfully authenticated, but GitHub does not
provide shell access. 
如果出现如下提示,则说明有权限问题:
Permission denied (publickey)....
如果有权限问题的情况下,你对项目执行push操作的时候,会得到如下提示:
Warning: Permanently added the RSA host key for IP address '192.30.252.129' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

>Please make sure you have the correct access rights
and the repository exists.

权限问题:

原因:生成了多套git ssh密钥,并且都Github和客户端连接。通常一台电脑生成一个ssh不会有这个问题,当一台电脑生成多个ssh的时候,就可能遇到这个问题。
解决步骤如下
1、查看系统ssh-key代理, 执行如下命令

$ ssh-add -l

以上命令如果输出 The agent has no identities. 则表示没有代理。如果系统有代理,可以执行下面的命令清除代理:

$ ssh-add -D

2、然后将你新创建的ssh添加代理,执行命令如下:

$ ssh-add ~/.ssh/id_rsa 

注:id_rsa你的公私钥名称

3、你会得到如下提示:

2048 8e:71:ad:88:78:80:b2:d9:e1:2d:1d:e4:be:6b:db:8e /Users/Eugene/.ssh/id_rsa (RSA)

4、测试 ssh

ssh -T git@github.com

你若得到如下提示,表示这个ssh公钥已经获得了权限

Hi ZyjEugene! You've successfully authenticated, but github does not provide shell access.

问题到此解决。


结束

鸣谢:
Pro Git 简体中文版
廖雪峰Git教程

链接与资源:
猴子都能懂的Git教程
Git - 简明指南

最后欢迎留言指正,谢谢🙏!

相关文章

  • Mac下Github的SSH公钥生成记录

    前言: 自己作死下载了多个破解软件,不知道那个可能程序有问题,导致了电脑重启后无法开机,苦逼的只能重装系统,所以之...

  • Git SSH

    进入~/.ssh目录,生成ssh 复制生成的公钥 将刚刚复制的公钥添加到github 测试

  • Mac无密码SSH登陆远程服务器

    1. 在Mac上生成公钥和私钥 打开terminal 用ssh-keygen命令生成私钥和公钥ssh-keyge...

  • Git 操作

    添加github ssh本地生成公钥和密钥 然后在 .ssh文件夹里把公钥复制到github上面如果本地已经有公钥...

  • 一台终端-多个ssh-key配置

    1、生成SSH-Key 2、查看公钥 3、将公钥内容复制粘贴至gitlab/github SSH公钥 4、添加私钥...

  • github

    注册github帐号 安装git(不是github) 绑定用户 生成ssh key 为github绑定ssh(公钥...

  • git配置免密(以github为例)

    配置user.name和user.email 生成ssh密钥对 获取公钥 Github上配置ssh公钥 验证

  • mac 生成 ssh keys

    mac 生成 ssh keys 使用github管理代码的时候 需要生成一个公钥key 添加到自己的git账户中...

  • git

    1. github网站注册 2. 本地安装git 3. ssh 生成公钥和秘钥,公钥放在自己的github主页里 ...

  • Git SSH 配置以及git操作Authentication

    配置ssh公钥访问oschina 使用ssh-kengen工具生成公钥(public key) 查看生成的公钥,并...

网友评论

  • 超闲:感谢分享,后半部分排版有点乱,代码部分和正文部分颠倒了,估计是用markdown命令的```前后没有对应好。如果能修改一下就完美了。
    超闲:@Eugene_iOS :+1:
    Eugene_iOS:感谢纠正,排版已更正:blush: (排版之前是好的,应该是简书更新了Markdown编辑器)

本文标题:Mac下Github的SSH公钥生成记录

本文链接:https://www.haomeiwen.com/subject/qtliittx.html