使用SSH密钥连接Github

使用Github,也许大家觉得比较麻烦的就是在每次push的时候,都需要输入用户名和密码。如果使用SSH,就可以记住用户名,并创建属于自己的密码来保证安全操作,还有神奇的一招可以“不用输入密码”哦。下面将介绍如何创建SSH Keys并将公钥加到GitHub账户中,使用SSH Keys在本机和GitHub之间建立一个安全的连接。

一、Windows环境下生成SSH key且连接GitHub

第一步、看看是否存在SSH密钥(keys)

首先,我们需要看看是否看看本机是否存在SSH keys,打开Git Bash,并运行:

1

$cd ~/.ssh#

检查你本机用户home目录下是否存在.ssh目录

如果,不存在此目录,则进行第二步操作,否则,你本机已经存在ssh公钥和私钥,可以略过第二步,直接进入第三步操作。

第二步、创建一对新的SSH密钥(keys)

输入如下命令:

1

2

3

4

$ssh-keygen -t rsa -C "[email protected]"

#这将按照你提供的邮箱地址,创建一对密钥

Generating public/private rsa key pair.

Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

直接回车,则将密钥按默认文件进行存储。此时也可以输入特定的文件名,比如/c/Users/you/.ssh/github_rsa

接着,根据提示,你需要输入密码和确认密码(说到这里,如果你很放心,其实可以不用密码,就是到输密码的地方,都直接回车,所以每次push就只管回车就行了。所谓的最安全的密码,就是没有密码  – –  哈哈)。相关提示如下:

1

2

Enter passphrase (empty for no passphrase): [Type a passphrase]

Enter same passphrase again: [Type passphrase again]

输入完成之后,屏幕会显示如下信息:

1

2

3

4

Your identification has been saved in /c/Users/you/.ssh/id_rsa.

Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.

The key fingerprint is:

01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

第三步、在GitHub账户中添加你的公钥

运行如下命令,将公钥的内容复制到系统粘贴板(clipboard)中。

1

clip < ~/.ssh/id_rsa.pub

接着:

1. 登陆GitHub,进入你的Account Settings.

2. 在左边菜单,点击”SSH Keys”.

3. 点击”Add SSH key”按钮.

4. 粘贴你的密钥到key输入框中.

5. 点击”Add Key”按钮。

6. 再弹出窗口,输入你的GitHub密码,点击确认按钮。

7. 到此,大功告成了!

第四步、测试

为了确认我们可以通过SSH连接GitHub,我们输入下面命令。输入后,会要求我们提供验证密码,输入之前创建的密码就ok了。

1

$ssh -T git@github.com

你可能会看到告警信息,如下:

1

2

3

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 username! You’ve successfully authenticated, but GitHub does not provide shell access.

二、Mac环境下生成SSH key且连接GitHub

第一步、看看是否存在SSH密钥(keys)

首先,我们需要看看是否看看本机是否存在SSH keys,打开终端(Terminal),并运行:

$cd ~/.ssh
# 检查你本机用户home目录下是否存在.ssh目录
如果,不存在此目录,则进行第二步操作,否则,你本机已经存在ssh公钥和私钥,可以略过第二步,直接进入第三步操作。

第二步、创建一对新的SSH密钥(keys)

输入如下命令:

1

2

3

4

$ssh-keygen -t rsa -C "[email protected]"

#这将按照你提供的邮箱地址,创建一对密钥

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

直接回车,则将密钥按默认文件进行存储。此时也可以输入特定的文件名,比如/Users/you/.ssh/github_rsa

接着,根据提示,你需要输入密码和确认密码。相关提示如下:

1

2

Enter passphrase (empty for no passphrase): [Type a passphrase]

Enter same passphrase again: [Type passphrase again]

输入完成之后,屏幕会显示如下信息:

1

2

3

4

Your identification has been saved in /Users/you/.ssh/id_rsa.

Your public key has been saved in /Users/you/.ssh/id_rsa.pub.

The key fingerprint is:

01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

第三步、在GitHub账户中添加你的公钥

运行如下命令,将公钥的内容复制到系统粘贴板(clipboard)中。

pbcopy < ~/.ssh/id_rsa.pub
接着:

1. 登陆GitHub,进入你的Account Settings.

2. 在左边菜单,点击”SSH Keys”.

3. 点击”Add SSH key”按钮.

4. 粘贴你的密钥到key输入框中.

5. 点击”Add Key”按钮。

6. 再弹出窗口,输入你的GitHub密码,点击确认按钮。

7. 到此,大功告成了!

第四步、测试

为了确认我们可以通过SSH连接GitHub,我们输入下面命令。输入后,会要求我们提供验证密码,输入之前创建的密码就ok了。

$ ssh -T [email protected]
你可能会看到告警信息,如下:

1

2

3

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 username! You’ve successfully authenticated, but GitHub does not provide shell access.
【注意】

如果前面没有将生成的密钥存放在默认的文件id_rsa中(而是my_rsa中),那么ssh -T [email protected]命令就需要添加参数来执行。如下:

$ ssh -T -i my_rsa [email protected]

三、单机如何控制不同的SSH Keys连不同的Git环境?

其实,一套SSH密钥是可以用在不同的SSH环境的.

但是如果由于某种要求,需要用不同的SSH密钥连接不同的Git环境。假设具体场景是,已经建了密钥github_rsa,还需要创建work_rsa连接工作环境git仓库,那么,可以按下面操作进行:

1. 创建另一对密钥work_rsa.

$ssh-keygen -t rsa -C “[email protected]”
#保存密钥为work_rsa

2. 添加新身份信息

$ssh-add ~/.ssh/work_rsa

3. 配置.ssh/config

我们需要通过Host别名,将不同的账号区分开来。

1

2

3

4

5

6

7

8

9

Host me.github.com

HostName github.com

PreferredAuthentications publickey

IdentityFile ~/.ssh/github_rsa

Host work.comp.com

HostName comp.com

PreferredAuthentications publickey

IdentityFile ~/.ssh/work_rsa

时间: 2024-10-23 07:23:37

使用SSH密钥连接Github的相关文章

Mac下使用SSH(密钥)访问Github

1,终端中输入:cd ~/.ssh 如果出现 -bash: cd: /Users/glamor/.ssh: No such file or directory,说明你之前没有用过.直接执行第二步. 如果之前用过需要清理原来的rsa,执行命令:mkdir key_backup $ cp id_rsa* key_backup $ rm id_rsa* p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000;

添加SSH密钥到GitHub

$ clip < ~/.ssh/id_rsa.pubbash: /c/Users/huangxi/.ssh/id_rsa.pub: No such file or directory [转]Generating SSH keys 生成 SSH 密钥 Step 1.检查本机现有的SSH密钥 检查~/.ssh看看是否有名为d_rsa.pub  和id_dsa.pub的2个文件.如果你什么都没得到这些文件,转到  步骤2 ;否则,请跳到  第3步. 打开你的Git Bash,输入: $ ls -al

通过SSH去连接 github 和bitbucket

github 和 bitbucket 都是项目托管服务器, 1 创建SSH private key and public key 首先需要安装git命令, 并且请检查是否有ssh 命令. 打开 Git Bash 执行下面的命令去检查 ssh -V 检查 然后输入下面的命令去生成key ssh keygen -t rsa 然后会提示你输入file和password. 最好是输入用rsa. 最好会生成2个file, 一个是private key,一个是public key. .pub 结尾的是pub

创建SSH Key连接github或gitlab

当我们从github或者gitlab上clone项目或者参与项目时,我们需要证明我们的身份.一种可能的解决方法是我们在每次访问的时候都带上账户名.密码,另外一种办法是在本地保存一个唯一key,在你的账户中也保存一份该key,在你访问时带上你的key即可.github.gitlab就是采用key来验证你的身份的,并且利用RSA算法来生成这个密钥. 链接方法 首先你需要在github上或者gitlab上有一个自己的账户 打开git bash,输入命令ls -al ~/.ssh.检查是否显示有id_r

window下配置SSH连接GitHub、GitHub配置ssh key(转载自 http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html)

此经验分两部分: 第一部分介绍:在windows下通过msysGit(Git for windows.Git Bash)配置SSH Keys连接GitHub. 第二部分介绍:在GitHub上创建仓库,在本地创建项目,然后将本地项目通过SSH提交到GitHub仓库中. 工具/原料 GitHub msysGit(git for windows.Git Bash) msysGit配置SSH访问GitHub 1 检查本机是否有ssh key设置 $ cd ~/.ssh 或cd .ssh 如果没有则提示:

window下配置SSH连接GitHub、GitHub配置ssh key(转)

转自:http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html 此经验分两部分: 第一部分介绍:在windows下通过msysGit(Git for windows.Git Bash)配置SSH Keys连接GitHub. 第二部分介绍:在GitHub上创建仓库,在本地创建项目,然后将本地项目通过SSH提交到GitHub仓库中. 工具/原料 GitHub msysGit(git for windows.Git Bash) msy

Git详细教程之创建本地仓库和连接Github仓库

首先要知道不只有代码,任何类型的文件都可以进行版本控制,版本控制很重要的一个特性就是你可以随时修改,比如git会记录你的任何操作,如果你想要回退到任何一个历史操作,你可以通过git轻松达到. 本地仓库的创建通常有两种方式: 第一种是自己手动创建: 在自己电脑硬盘中创建新的文件夹,打开然后用gitbash打开此文件夹,运行**git init**然后查看自己的文件夹会看见.git的隐藏文件夹.这是git配置相关的文件夹,不要随意修改它.之后就可以在自己新建的这个文件夹中添加项目包含的文件了. 第二

ssh连接github连不上

连接github报端口22连接不上: 输入命令展示出ssh_config内容后: vim /etc/ssh/ssh_config 修改Port:443 输入命令:ssh -T -p 443 [email protected]查看是否链接成功 然后加上: Host github.com Hostname ssh.github.com Port 443 输入命令:ssh -T [email protected]查看是否链接成功 借鉴文章链接:http://www.inanzzz.com/index.

Linux下通过ssh连接github

github每次pull/push代码时要求推送代码的用户是合法的,所以每次推送时候都要输入账号密码用以验证用户是否为合法用户,而ssh是一种安全的传输模式,可以代替用户的这一"输入账号密码"的行为来验证用户. github共支持2种操作方式 https 可以随意克隆github上的项目,而不管是谁的:在pull/push的时候是需要验证用户名和密码的 ssh 克隆者必须是拥者或管理员,且需要先添加 SSH key ,否则无法克隆.在pull/push的时候不再是验证用户名和密码,而是