码云如何配置ssh keyBitbucket的ssh

昨天为了保存代码,本地搭建了gitlab,但是发现有点慢,可能用了gitfs之后会好点,但是眼前还是要尽快解决,于是想到了bitbucket,私人代码存放确实不错,但是这次又忘了如何添加ssh公钥了。
记录如下:
点击右上角 view profile
点击 bitbucket settings
左下角有个 SSH Keys
剩下的就不用说了。但是需要注意的是,我之前加错了地方,放到了某个项目的deploy key里面,但是即使删除了之后在个人setting这边依旧加不上key,会提示
速度还是挺不错的,可以达到2Mbps
本文已收录于以下专栏:
相关文章推荐
最近遇到了一个烦恼,就是自己项目的github需要pei
GitHub, Bitbucket 都是项目托管服务器,都支持Gib版本控制,不过二者是有区别的。Github 一般是能够正常访问的,Bitbucket访问不稳当;Github 提供公开库和私有库,私...
生成 SSH 公钥
如前所述,许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这个过程在所有操作...
SSH公钥生成以及各主机间的无密码登录注:[]为需替换的内容,master表示主机,slave表示从机原理master要实现无密码公钥认证,连接到Salve上时,需要在master上生成一个密钥对,包...
一、实验的目的
了解密钥对的创建和使用,掌握免密码远程登录和远程操作
二、实验环境
本地主机 rh1: 192.168.233.3/24
远程主机 rh2: 192.168.233.4...
如何创建公钥
关于Github如何创建公钥 SSH key 下载路径:https://git-for-windows.github.io
GitHub入门到实践
....No such fil...
ssh无密码登录要使用公钥与私钥。
linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。
有机器A(192.168.1.155),B(192.168.1.181)。现...
解决Git生成公钥过程中的:bash:ssh-keygen command not found 问题。
4.3 服务器上的 Git - 生成 SSH 公钥
生成 SSH 公钥
大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)3370人阅读
GitHub(2)
之前搞过这个Github,但是不能创建私有库,所以就试着用一下这个Bitbucket。
因为之前已经装过Github了,所以就没有装[1]中的msysgit,可以直接用Github的Gitshell
然后在Bitbucket中创建一个私有仓库,在自己本地的一个文件夹下,输入命令:
为了不影响之前的Github,需要单独给这个库配置用户名和邮箱:
git config user.name &Your Name&
git config user.email &&
之所以去掉--global,是因为这样的设定会保存在当前项目的.git/config,不会影响其他的项目。而如果用了--global选项,那么更改的配置文件就是位于你用户主目录下那个,以后所有的项目都会默认使用配置的用户信息[2]。
这个是用户目录下的config:
这个是我现在项目下的config,Bitbucket的邮箱和Github一样,但是用户名不一样
之后要配置这个SSH,不然每次用https推送,都需要输入密码。在用户目录下,.ssh文件下有之前的github_rsa.pub和github_rsa,我以为可以直接用,特别是
当我输入ssh-keygen -t rsa -C && (需要注意空格,ssh-keygen之间没有空格)之后产生Bad escape character 'ygen',就认为已经存在了,不需要再产生了,就直接拷贝到了Bitbucket的SSH管理里面。
然后配置这个git remote add origin :user/project.git,git push origin master:
出现Permission denied错误,使用命令[4]:
ssh -v hg@bitbucket.org
结果如下:
这样的话,是因为id_rsa不存在,需要自己生成,之前的是github_rsa而不是id_rsa。不过还知道这个文件名在bitbucket里面改,特别坑爹的是这个ssh 和-keygen之间是不需要空格的,按照[5]一步一步来配置,就成功了:
用户目录下面创建.ssh文件夹:
-------------------------------------------------------
后记,用ssh生成了github_rsa,把它添加到bitbucket的账户里面,发现ssh -T git@bitbucket.org连接不通,用ssh -v hg@bitbucket.org产生下面的问题:
产生的错误说的是这个id_rsa文件不存在,因为我的文件名是github_rsa,所以当然就不存在了,根据参考[4]在.ssh文件下新添一个文件:
重新打开git客户端,ssh -T git@bitbucket.org就连接成功了.
之后根据[7],重写了config文件:
但是出现了一个奇葩问题,用ssh -Tv git@bitbucket.org,返回的是0,不过也是shell access is disabled:
用ssh -Tv ,返回的是1,也是Github does not provide shell acess,可能[6]说的是对的,出现这个情况就相当于联通了。
【1】Git教程 (安装Git)http://lvwzhen.github.io/Git-Tutorial/chapter-2/README.html
【2】1.5 起步 - 初次运行 Git 前的配置&/book/zh/%E8%B5%B7%E6%AD%A5-%E5%88%9D%E6%AC%A1%E8%BF%90%E8%A1%8C-Git-%E5%89%8D%E7%9A%84%E9%85%8D%E7%BD%AE
【3】Gitlab配置ssh连接&/gitlab%E9%85%8D%E7%BD%AEssh%E8%BF%9E%E6%8E%A5/
【4】bitbucket Permission denied (publickey).问题&/xiziyin/archive//2914773.html
【5】Git教程(添加远程库)&http://lvwzhen.github.io/Git-Tutorial/chapter-5/5-1.html
【6】git/github学习笔记&/fnng/archive//2153807.html
【7】利用 ssh 的用户配置文件 config 管理 ssh 会话&http://dhq.me/use-ssh-config-manage-ssh-session
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:195032次
积分:3281
积分:3281
排名:第10930名
原创:130篇
转载:31篇
评论:54条
(2)(3)(1)(1)(1)(1)(1)(4)(2)(1)(4)(1)(1)(3)(4)(6)(1)(3)(5)(5)(27)(1)(3)(6)(3)(2)(1)(11)(3)(4)(2)(6)(2)(1)(1)(2)(2)(1)(1)(3)(3)(4)(7)(8)(7)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'【说明】此文因样式原因,图片显示不全,点击图片可查看完整图片。
【场景】在bitbucket上,firstbit拥有版本仓库(名为:prisshop);为方便开发,他邀请了jscon共同维护这个仓库,可又不想让jscon使用Fork方式,而是像这个仓库的管理员那样自由操作这个版本库。
&&&& 换言之,这个版本仓库的拥有者是firstbit,管理者是firstbit与jscon。
&&&& Fork方式是针对普遍的协作,如果你就是团队中的人员,上面的方式无疑会拖项目的后腿。这就需要使用仓库共享模式,让项目拥有者把你加入团队成员,这样你就能直接把修改的内容push到项目中了。
&&&& 为了方便以后的使用,应当使用SSH方式,这样既可以不输入密码,也可以辨认提交的用户名。
Bitbucket文档里提供了一个非常详尽的的教程:。现翻译如下:
(以下步骤同时适用于用户firstbit与jscon)
1、生成公钥与私密
&&&& 首先就是你的电脑上创建一个ssh key。
&&&& 关于SSH原理可参看阮一峰的博文《》,讲的非常详尽,推荐:
使用密码登录,每次都必须输入密码,非常麻烦。好在SSH还提供了公钥登录,可以省去输入密码的步骤。所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。这种方法要求用户必须提供自己的公钥。如果没有现成的,可以直接用ssh-keygen生成一个
&&&& 我们打开Git Bash,然后输入:
ssh-keygen
&提示让你输入密钥的地址与名字,默认是 ~/.ssh/id_rsa,这里我们使用 ~/.ssh/bitbucket_id_rsa,一路回车得到两个文件(期间会让你输入passphass用来加密私钥,这里为简单起见就为空,所以直接回车):
黄底标记的文件是自动生成的密钥,config文件需要自己创建
2、创建config文件
&&&& 如上图所示,在创建一个config文件(没有后缀名),在里面输入:
Host bitbucket.org
IdentityFile ~/.ssh/bitbucket_id_rsa
注意第二行是有缩进(也可以是一个空格)是非常重要的,不要省略。里面的&~/.ssh/bitbucket_id_rsa&就是刚才生成的私钥路径。
3、更新.bashrc文件
&&&& SSH认证前提是开启认证代理,这个代理的信息可通过以下命令查看:
$ eval 'ssh-agent'
SSH_AUTH_SOCK=/tmp/ssh-GDRrxm2136/agent.2136; export SSH_AUTH_SOCK;
SSH_AGENT_PID=5492; export SSH_AGENT_PID;
echo Agent pid 5492;
&每次开启Git Bash窗口前需要开启这个代理,显得有些麻烦&&一个有效的解决方法就是当启动Shell时启动开启这个代理,这就用到吧.bashrc文件。
&&&& 这个文件可以从 里Copy来,内容如下:
SSH_ENV=$HOME/.ssh/environment
function start_agent {
echo "Initialising new SSH agent..."
/usr/bin/ssh-agent | sed 's/^echo/#echo/' & ${SSH_ENV}
echo succeeded
chmod 600 ${SSH_ENV}
. ${SSH_ENV} & /dev/null
/usr/bin/ssh-add;
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. ${SSH_ENV} & /dev/null
#ps ${SSH_AGENT_PID} doesn't work under cywgin
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ & /dev/null || {
&将上面的内容直接保存到 ~/.bashrc文件中即可。
注意:这个文件一定要保存到home路径下,可以在shell 中输入:
touch ~/.bashrc
&创建之后,再用其他编辑器(比如Notepad++等)打开把上面的内容拷贝进去即可。
&&&& 重启Git Bash!
&&&& 然后提示输入passphase(只有第一次启动输入,之后的不会再输入了)后,验证在代理里注册成功:
$ ssh-add -l
2048 0f:37:21:af:1b:31:d5:cd:65:58:b2:68:4a:ba:a2:46 /Users/manthony/.ssh/id_rsa (RSA)
由于默认是添加id_rsa的,而我们自己创建了一个bitbucket_id_rsa,所以得手动添加:
bitbucket_id_rsa
4、在Bitbucket账号中添加公钥
1) 在Git Bash中使用cat命令获得公钥信息:
cat ~/.ssh/bitbucket_id_rsa.pub
&将获得的代码复制下来,供后面使用:
获取公钥信息
2) 打开浏览器,进入主页的账号管理(Manage Account):
3) 点击SSH Keys选项卡,粘贴入刚才复制的公钥即可:
4) 回到命令行,输入下面命令确认能与Bitbucket网站SSH通信:
ssh -T git@bitbucket.org
&如果出现下面的信息:conq: logged in as jscon.You can use git or hg to connect to Bitbucket. Shell access is disabled.则说明你已经能用这个key与bitbucket网站SSH通信了。
5、更新远程服务器
&&&& 之前使用https跟远程服务器通信,现在更新成ssh方式通信即可。Git工作原理还是一致的,只是格式上有所区别,主要体现在账号出现的位置上:
SSH与HTTPS格式上的区别
比如clone:
git clone git@bitbucket.org:firstbit/prisshop.git
使用SSH方式clone版本库
比如push:先注册远程SSH服务器:
git remote add bitbucket git@bitbucket.org:firstbit/prisshop.git
再push即可:
git push bitbucket
6、邀请入伙
&&&& firstbit与jscon两个人现在都按上面的五步分别在自己的机器上完成跟自己bitbucket账号的SSH通信的配置后,之后一起协作就非常简单了。1) 首先,firstbit发起邀请。firstbit到版本库首页点击发送请求按钮,邀请jscon:
点击发送邀请按钮
输入用户名jscon后,按share按钮即可
同时在仓库管理面板中定义jscon对该版本库的使用权限:
给JSCON用户定义管理(读、写、管理)权限
2) jscon登录自己的首页,系统提示Inbox(收件箱)收到firstbit的邀请信:
jscon收到的要邀请信
现在jscon就可以在自己的机器上管理prisshop版本仓库了(就像自己创建的版本仓库那样,唯一的区别是该版本的所有权归firstbit)。
【后记】好久没有在cnblogs上面写博客了,因为去年整了一个wordpress(),基本在上面发的。
另外有微博
欢迎关注。
阅读(...) 评论()}

我要回帖

更多关于 ssh如何看服务器配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信