设为首页 收藏本站
查看: 1334|回复: 0

[经验分享] git使用ssh密钥 (转)

[复制链接]

尚未签到

发表于 2015-10-19 09:17:52 | 显示全部楼层 |阅读模式
  
转载自:http://chen.junchang.blog.163.com/blog/static/634451920121199184981/(这个里面的第三步好像有点问题)


  
git使用https协议,每次pull, push都要输入密码,相当的烦。


使用git协议,然后使用ssh密钥。这样可以省去每次都输密码。




大概需要三个步骤:


一、本地生成密钥对;


二、设置github上的公钥;


三、修改git的remote url为git协议。




一、生成密钥对。


=============


大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的
~/.ssh
目录。进去看看:



$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts config            id_dsa.pub

关键是看有没有用
something
something.pub
来命名的一对文件,这个
something
通常就是
id_dsa
id_rsa
。有
.pub
后缀的文件就是公钥,另一个文件则是密钥。假如没有这些文件,或者干脆连
.ssh
目录都没有,可以用
ssh-keygen
来创建。该程序在
Linux/Mac 系统上由 SSH 包提供,而在 Windows 上则包含在 MSysGit 包里:



$ ssh-keygen -t rsa -C "your_email@youremail.com"
# Creates a new ssh key using the provided email # Generating public/private rsa key pair.

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

直接Enter就行。然后,会提示你输入密码,如下(建议输一个,安全一点,当然不输也行):



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

完了之后,大概是这样。



Your identification has been saved in /home/you/.ssh/id_rsa.
# Your public key has been saved in /home/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@youremail.com

这样。你本地生成密钥对的工作就做好了。




二、添加公钥到你的github帐户


========================


1、查看你生成的公钥:大概如下:



$ cat ~/.ssh/id_rsa.pub  
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlE
LEVf4h9lFX5QVkbPppSwg0cda3 Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA t3FaoJoAsncM1Q9x5+3V
0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx NrRFi9wrf+M7Q== schacon@agadorlaptop.local

2、登陆你的github帐户。然后 Account Settings -> 左栏点击 SSH Keys -> 点击 Add SSH key


3、然后你复制上面的公钥内容,粘贴进“Key”文本域内。 title域,你随便填一个都行。


4、完了,点击 Add key。




这样,就OK了。然后,验证下这个key是不是正常工作。



$ ssh -T git@github.com
# Attempts to ssh to github

如果,看到:



Hi username! You've successfully authenticated, but GitHub does not # provide shell access.
就表示你的设置已经成功了。




三、修改你本地的ssh remote url. 不用https协议,改用git 协议


================================================


可以用git remote -v 查看你当前的remote url



$ git remote -v
origin https://github.com/someaccount/someproject.git (fetch)
origin https://github.com/someaccount/someproject.git (push)



可以看到是使用https协议进行访问的。


你可以使用浏览器登陆你的github,在上面可以看到你的ssh协议相应的url。类似如下:


git@github.com:someaccount/someproject.git



这时,你可以使用 git remote set-url 来调整你的url。


git remote set-url origin git@github.com:someaccount/someproject.git



完了之后,你便可以再用 git remote -v 查看一下。


OK。


至此,OK。


你可以用git fetch, git pull , git push, 现在进行远程操作,应该就不需要输入密码那么烦了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-128531-1-1.html 上篇帖子: ubuntu Gitolite管理git server代码库权限 下篇帖子: Linux搭建使用SSH共享存取的 Git Server
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表