git 使用ssh密钥

一、查看仓库支持的传输协议

1.1查看仓库支持的传输协议

使用命令 git remote -v 查看你当前的 remote url
[email protected]:/home/yuanGit# git remote -v

[email protected]:/home/yuanGit# git remote -v
origin  https://github.com/seventeen71/yuan (fetch)     #1
origin  https://github.com/seventeen71/yuan (push)     #2
origin  [email protected]:seventeen71/yuan.git (push)     #3

#1、#2处的地址都是以https开头的,表示https传输,意味着你每次都要输入讨厌的username、password
作者本人的已经设置好了ssh传输,在#3处:地址是git开头则表示是git协议

提示:完全设置好push模式的话应该是这样

[email protected]:/home/yuanGit# git remote -v
origin  https://github.com/seventeen71/yuan (fetch)
origin  [email protected]:seventeen71/yuan.git (push) #4

#4处这样当你git push origin master时就不需要输入讨厌的密码了,下面讲如何去设置

1.2检查本机是否已有SSH密钥

在 ~/.ssh目录下查看是否存在如下两个文件:~宿主目录一般为 /home/user(作者是zengyue) /home/zengyue

[email protected]:~/.ssh# ls
id_rsa  id_rsa.pub

如果不存在id_rsa id_rsa.pub 两个文件的话:

二、生成SSH密钥

2.1 ~/.ssh目录无密钥对从这儿开始

2.1.1 使用命令: ssh-keygen 来创建
[email protected]:~# ssh-keygen -t rsa -C "[email protected]" 邮件地址为你注册github的地址

Creates a new ssh key using the provided email # Generating public/private rsa key pair.

Enter file in which to save the key (/home/zengyue/.ssh/id_rsa):

这儿让你确认密钥目录,直接Enter回车就好:
Enter same passphrase again: [Type passphrase again] 接着让你输入及确认密码,然后就生成了密钥对。
出现下面提示说明OK了
Your public key has been saved in /home/zengyue/.ssh/id_rsa.pub.
The key fingerprint is: # ............ [email protected]
现在你可以在你的 ~/.ssh 目录看是否有id_rsa id_rsa.pub 两个文件

2.2 github仓库中添加公钥

2.2.1 查看复制本地公钥:cat id_rsa.pub 或者 vim id_rsa.pub 打开直接copy
记得一点都不能省略从 ssh-rsa 开始 [email protected]结束

[email protected]:~/.ssh# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCbCLmkVonQAFjAgQVY7vH86NIsgw1kDV3dDYRXdmWoYSZ3gY4OEgzCqm8GWXRr+wNFUsSwhMmUabtEfRGGKlP/z2TBMzXFkcJ18zLAWXtgWWUH73tVfxXg+sdFpKhY0ppDYdU9Amk8ljVsge8+pKHVluk0ReBNtFsbp1w/seyrfUqsjigsnQHWeSPBns3CD7hs++7BXW5Mv4SH+ap30N+2tFBlqSuzitwLJCFed9isSFq2UQ4wiX25rs+eYpSloMY9kClMVVYuXN860EKCyF5V1ThS/TOcMoxDhGclDBoItS/oeTDGwopSTrsm5CFyUJFAd3qDYJ+yVy5fycVYfb6x [email protected]

2.2.2 登陆你的github帐户。点击你的头像,然后
Settings -> 左栏点击 SSH and GPG keys -> 点击 New SSH key

2.2.3 将复制的公钥粘贴到key文本域,title随便起名,再点击Add key

2.2.4 然后回到linux下确认:命令 ssh -T [email protected]
[email protected]:~/.ssh# ssh -T [email protected]
Hi xxx! You‘ve successfully authenticated, but GitHub does not # provide shell access. 看到这个你就成功了。

2.2.5 调整remote url
命令 git remote -v 查看,详细见文章开头

[email protected]:/home/yuanGit# git remote -v
origin  https://github.com/seventeen71/yuan (fetch)
origin  https://github.com/seventeen71/yuan (push)     

如果你的是这样,意思就是现在只有https传输,还需要输入username /password
输入命令:
git remote set-url origin [email protected]:[你的账户]/[你的github仓库].git
如下图进入你的仓库,点击1处,然后出现在2处的就是git协议地址了,
复制它拼接到命令git remote set-url origin 后面
git remote set-url origin [email protected]:someone/repository.git

三、二的最后几个部分这么麻烦

你还可以去仓库的 .git 目录下修改conf文件
前面我们说过了,每一次提交git都会最后来这个文件找各种信息,下图的 13 到15行就是,去你的github仓库复制过来配置到这儿

 11
 12 [remote "origin"]
 13     url = [email protected]:s--enten--/--an.git
 14     fetch = +refs/heads/*:refs/remotes/origin/*
 15     pushurl = [email protected]:s--enten--/--an.git.git
 16 [branch "master"]
 17     remote = origin
 18     merge = refs/heads/master                                  

当然你还可以使用git remote --help

       git remote set-url [--push] <name> <newurl> [<oldurl>]
       git remote set-url --add [--push] <name> <newurl>
       git remote set-url --delete [--push] <name> <url>

git remote set-url --push origin

这样去设置解决也是可以哒!

当然如果你遇到如下问题:去我下篇博客找吧!
执行git clone [email protected]:accountName/repository.git命令时不出错,

运行git push时出错,提示如下

Permission denied(publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.

原文地址:https://www.cnblogs.com/shiqi17/p/9416014.html

时间: 2024-10-18 17:35:44

git 使用ssh密钥的相关文章

git配置ssh密钥

如果主机(当前登录用户)之前没有git账号,即添加第一个git账号,并配置ssh密钥时, 按照如下的步骤: 1 cd  ~/.ssh 2 ssh-keygen -t rsa -C '[email protected]' 3 cat id_rsa.pub 4 拷贝公钥到git服务器上 5 测试:git clone [email protected]:liulian/mahout-0.9-custom.git 附加信息: 1 ssh-keygen -t rsa -C '[email protecte

git使用ssh密钥

git使用https协议,每次pull, push都要输入密码,相当的烦.使用git协议,然后使用ssh密钥.这样可以省去每次都输密码. 大概需要三个步骤:一.本地生成密钥对:二.设置github上的公钥:三.修改git的remote url为git协议. 一.生成密钥对.=============大多数 Git 服务器都会选择使用 SSH 公钥来进行授权.系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个.生成公钥的过程在所有操作系统上都差不多.首先先确认一下是否已经有一个公钥了

git使用ssh密钥和https两种认证方式汇总(转)

在版本库的SSH方式和HTTPS方式是不同的,具体来说就是url信息的不同,但是,实际的认证机制也是不同的.当建立了本机密钥之后,使用ssh方式实际上是不需要再次认证的,而https则每次需要输入密码 .<Help.GitHub - SSH key passphrases>里也说了用SSH更方便更安全,不需要去输入长长的密码. 我去看了下repo目录下的.git/config,果然,我的url是HTTPS形式. 1 2 3 [remote "origin"] fetch =

Git生成ssh密钥指定文件

ssh-keygen 使用的时候可以直接使用 -f 参数 指定密钥保存文件,省去后面生成成功后再提示选择保存文件: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Courier; color: #4c2f2d; background-color: #dfdbc4 } span.s1 { } ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa

git生成ssh密钥

1.生成 $ ssh-keygen -t rsa -C 2.获取当前的ssh公钥 $ cat ~/.ssh/id_rsa.pub   

git ssh密钥配置添加

1.  初次安装git配置用户名和邮箱 $ git config --global user.name "xxx" $ git config --global user.email "[email protected]" 2. git使用ssh密钥 $ ssh-keygen -t rsa -C "[email protected]" 3.生成密钥对 cat ~/.ssh/id_rsa.pub ssh-rsa B3NzaC1yc2EAAAADAQA

配置多个 git 账号的 ssh密钥

背景 在工作中,我们通常会以 ssh 的方式配置公司的 git 账号,但是平时也会使用 github 管理自己的项目.因此,我们需要为自己的 github 创建一个新的 git 账号,这就需要生成新的 ssh 密钥.下面总结了创建多个互相独立的 ssh 密钥的步骤(以公司的和自己 github 的为例). 步骤(以 mac 为例) 在文件夹 ~/.ssh/ 下创建两个文件夹,分别为 company/ 和 github/,前者存放公司的 ssh密钥,后者存自己 github 的 ssh 密钥.下面

jenkins Git配置(通过eclipse生成SSH 密钥)

1.通过eclipse生成SSH 密钥 菜单栏的windows-->preferences-->General-->Network Connections-->SSH2-->key Management: 点击:Generate RSA Key生成密钥 Comment:填写Git服务器的IP及用户名,格式为:[email protected] Passphrase: 服务器的密码 Confirm passphrase:服务器的密码 如下图: 点击:Save Private K

Git配置多ssh密钥

在工作过程中,我们经常需要在不同代码托管平台上的仓库编写代码,比如公司内部使用的gitlab仓库和自己的github仓库.因此,配置多个ssh密钥方便拉取和提交代码. 生成ssh密钥 ssh-keygen -t rsa -f gitlab_rsa #公司仓库 ssh-keygen -t rsa -f github_rsa #个人仓库 添加ssh私钥 ssh-agent bash #刷新 ssh-add ~/.ssh/gitlab_rsa ssh-add ~/.ssh/github_rsa 配置c