发布于 2013-06-06 21:56:59 UEANER

序言

项目托管服务较好的当属 GitHubBitbucket 了, 二者都支持 Git 版本控制。二者最大的区别是:

    1. GitHub 很火正常访问,Bitbucket 最近访问有点问题(...)
    1. GitHub 私有库需要付费,Bitbucket 私有库免费
    1. GitHub 只支持 Git,Bitbucket 同时支持 Mercurial

废话不多说,开始配置

Step 1: 检查SSH密钥

> cd ~/.ssh

如果返回 "No such file or directory" 转 Step 2. 否则说明你已经有一个密匙对,转到 Step 3.

Step 2: 生成新的SSH密钥

> ssh-keygen -t rsa -C "your_email@example.com"

使用你的邮件创建一个新的 SSH 密匙标签,将会生成 ~/.ssh/id_rsa 文件, 用于存储你的密匙。

现在,你需要输入一个密码:

Enter passphrase (empty for no passphrase): [输入一个密码]
Enter same passphrase again: [重新输入密码]

一般没有特殊需要,直接回车即可。

你将看到一下信息:

Your identification has been saved in /home/you_username/.ssh/id_rsa.
Your public key has been saved in /home/you_username/.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

Step 3-1: 复制 SSH 密匙

安装复制工具:

> sudo zypper install xclip

根据自己的系统选择 zypper/yum/apt-get

复制 SSH 密匙到剪切板:

> xclip -sel clip < ~/.ssh/id_rsa.pub

当然你也可以不安装 xclip,使用 cat 命令,输入到终端再复制。

Step 3-2: 添加 SSH 密匙到 GitHub

1. 点击右上角 "Account Settings" 设置图标
2. 点击左侧 "SSH Keys"
3. 点击 "Add SSH key"
4. 粘贴你的密匙到 "Key" 文本区
5. 点击 "Add key"
6. 确认操作输入你的 GitHub 密码

Step 3-3: 添加 SSH 密匙到 Bitbucket

1. 点击右上角"用户头像"
2. 点击下拉菜单中的 "Manage account"
3. 点击左侧 "SSH keys"
4. 点击 "Add key"
5. 粘贴你的密匙到 "Key" 文本区
6. 点击 "Add key"

Bitbucket 的 Account settings 中可以设置为中文的。

Step 4: 测试连接

GitHub:

> ssh -T git@github.com

Bitbucket:

> ssh -T git@bitbucket.org

你可能会看到这样的提示:

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 即可

GitHub 成功提示:

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

Bitbucket 成功提示:

conq: logged in as you_username.

You can use git or hg to connect to Bitbucket. Shell access is disabled.

如果出现 access denied 一般是添加的 key 的问题,请检查本地 key 和线上 key 是否相同, 或参考 Error: Permission denied (publickey)

到此你就可以使用 git clone 你的项目,提交更改了。

注:Bitbucket 使用 ssh 方式克隆, 如:git clone git@bitbucket.org:you_username/project.git

参考

本文大部分内容翻译自下面的连接

GitHub Help: https://help.github.com/articles/generating-ssh-keys
转载请注明出处。
本文地址:http://blog.aboutc.net/linux/37/github-bitbucket-connect-via-ssh-keys

评论:3

flowerwrong 2014-07-11 15:40:59
不需要设置多个公钥和私钥吗?config文件下配置?
ueaner 2014-07-11 16:16:52
@flowerwrong: 没明白您的意思,可以详细一点吗?
Warning 2015-06-01 11:59:32
如果github和bitbucket的邮箱设置不一样怎么处理??
关闭高亮高亮 分享到新浪微博分享到新浪微博