序言
项目托管服务较好的当属 GitHub 和 Bitbucket 了, 二者都支持 Git 版本控制。二者最大的区别是:
- GitHub 很火正常访问,Bitbucket 最近访问有点问题(…)
- GitHub 私有库需要付费,Bitbucket 私有库免费
- 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 "[email protected]"
使用你的邮件创建一个新的 SSH 密匙标签,将会生成 ~/.ssh/id_rsa
文件, 用于存储你的密匙。
现在,你需要输入一个密码:
Enter passphrase (empty forno passphrase):[输入一个密码]Enter same passphrase again:[重新输入密码]
一般没有特殊需要,直接回车即可。
你将看到一下信息:
Your identification has been saved in/home/you_username/.ssh/id_rsa.Yourpublic 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 [email protected]
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 [email protected]
Bitbucket:
> ssh -T [email protected]
你可能会看到这样的提示:
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 inas 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 [email protected]:you_username/project.git
参考
本文大部分内容翻译自下面的连接
GitHubHelp: https://help.github.com/articles/generating-ssh-keys