Gitlab安装与配置,包括配置时遇到报错:Permission denied (publickey).如何解决
- Linux下安装
需要先安装Git依赖的库:curl、zlib、openssl、expat、libiconv。
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
$ apt-get install libcurl4-gnutls-dev libexpat-dev gettext libz-dev
https://code.google.com/p/git-core/downloads/list 下载你想安装的版本,执行命令安装
$ tar -zxf git-1.8.x.x.tar.gz
$ cd git-1.8.x.x
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install
- Winddows下安装
http://msysgit.github.com/ 下载msygit,在下载路径里找到.exe文件,双击安装,需要注意的是以下两个选择,其他一路next就ok
如果平时习惯图形化界面操作的,可以选择安装TortoiseGit
https://code.google.com/p/tortoisegit/
- 配置
右键Git bash here,输入
$ ssh-****** -t rsa -C "你的邮箱名.com"
生成SSH key
所有提示回车即可,SSH Key会生成在你用户Home路径的.ssh目录下
但如果你需要自定义一些内容,比如说提示Enter passphrase(empty for no passphrase): 可以自定义密码,Enter same passphrase again: 再输入一遍密码(直接回车跳过即默认没有密码)
以下内容是回车行,得到The Key就是创建SSH key成功了
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/用户名/.ssh/id_rsa):
Created directory '/c/Users/用户名/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/用户名/.ssh/id_rsa.
Your public key has been saved in /c/Users/用户名/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:skdjiw90sd2lzu82WKiJ3E6Nw7b1JAOWIQ 邮箱名
The key's randomart image is:
+---[RSA 2048]----+
| +Eo |
|. o= . . |
|oo=o* o |
|.=oBoo. S |
| .=o=o.S |
|+o+B.+... |
|*o+++ + |
|oo==. . |
+----[SHA256]-----+
得到SSH key后,复制它,你可以执行
$ clip < ~/.ssh/id_rsa.pub
直接复制,或者执行
$ cd .ssh
$ ls
id_rsa id_rsa.pub
$ cat id_rsa.pub
cat 查看在命令行显示的id_rsa.pub内容,复制,找到在gitlab里配置SSH的页面,点击ADD SSH KEY,把复制的内容粘贴在key框,title框随意
公钥复制好了后,执行
$ ssh -T git@github.com
验证是否连接上了,如果成功连接了会提示你
Enter passphrase for key '/c/Users/用户名/.ssh/id_rsa':
Welcome to GIT, 用户名!
如果得到这一步,就大功告成了,但是我首次尝试得到的提示是
git@github.com: Permission denied (publickey).
如果其他文章的方法没有帮助你解决这个问题,你可以看下执行$ ssh [email protected]时是否指定了地址,我就是通过重新执行
$ ssh -T [email protected]你的gitlab首页地址.com
成功连接上git
关于其他一些配置内容可以参考:
修改Git账号名字 : git config --global --add user.name <<你的名字>>
修改Git账号邮箱地址 : git config --global --add user.email <<你的邮箱地址>>