Git ssh 配置

阅读量:

1、设置 Git 的 user name 和 email:(如果是第一次的话)

    $ git config --global user.name "humingx"
    $ git config --global user.email "humingx@yeah.net"

如果某个项目需要使用其他的账户,为该项目进行局部设置。

$ git config user.name "username"
$ git config user.email "email@sample.com"

也可使用参数 --local

2、生成密钥

    $ ssh-keygen -t rsa -C "humingx@yeah.net"

连续 3 个回车。如果不需要密码的话。

最后得到了两个文件:id_rsaid_rsa.pub

ssh 配置 figure 1.png


如果不是第一次,就选择 overwrite. 。

ssh 配置 figure 2.png

多个账户配置 SSH key 为不同的账户分别生成 SSH key,修改对应的邮箱。 在生成 key 时注意修改文件名称。

3、添加密钥到 ssh-agent

确保 ssh-agent 是可用的。ssh-agent 是一种控制用来保存公钥身份验证所使用的私钥的程序,其实 ssh-agent 就是一个密钥管理器,运行 ssh-agent 以后,使用 ssh-add 将私钥交给 ssh-agent 保管,其他程序需要身份验证的时候可以将验证申请交给 ssh-agent 来完成整个认证过程。

    # start the ssh-agent in the background
    eval "$(ssh-agent -s)"
    Agent pid 59566

在终端中输入如下命令,查询系统 ssh key 的代理:

	$ ssh-add -l

如果系统已经设置了代理,需要删除:

	$ ssh-add -D  
	All identities removed.  

如果提示:

	Could not open a connection to your authentication agent.  

执行:

	$ exec ssh-agent bash

之后添加生成的 SSH key 到 ssh-agent。

    $ ssh-add ~/.ssh/id_rsa

ssh 配置 figure 3.png

4、登陆 Github, 添加 ssh 。

id_rsa.pub 文件里的内容复制到这里

ssh 配置 figure 4.png

5、测试:

    $ ssh -T git@github.com

你将会看到:

    The authenticity of host 'github.com (207.97.227.239)' 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)?

选择 yes

    Hi humingx! You've successfully authenticated, but GitHub does not provide shell access.

如果看到 Hi 后面是你的用户名,就说明成功了。

ssh 配置 figure 5.png

6、修改 .git 文件夹下 config 中的 url

修改前

    [remote "origin"]
    url = https://github.com/humingx/humingx.github.io.git
    fetch = +refs/heads/*:refs/remotes/origin/*

修改后

    [remote "origin"]
    url = git@github.com:humingx/humingx.github.io.git
    fetch = +refs/heads/*:refs/remotes/origin/*

7、发布

ssh 配置 figure 6.png

#待整理笔记

反向链接

到头儿啦~

局部关系图