ubuntu git生成ssh key (公钥私钥)配置GitLab
Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。
github的SSH配置如下:
一 、
设置Git的user name和email:
git config --global user.name "xx"
git config --global user.email "xx@gmail.com"
git config --list(查看配置的信息)
二、生成SSH密钥过程:
1.查看是否已经有了ssh密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
2.生存密钥:
$ ssh-keygen -t rsa(生产公钥)
按3个回车,密码为空。
最后得到了两个文件:id_rsa和id_rsa.pub
查看id_rsa.pub公钥
cat ~/.ssh/id_rsa.pub
打开id_rsa.pub文件,并且复制全部内容。
image
4).打开GitLab账户,打开SSH Keys:
image
将刚刚复制的内容添加到Key的文本域中,然后点击Add key
这样就添加了一个SSH key。5).完成上面的步骤之后就可以使用ssh来连接GitLab,并进行相应的操作了。
在第一次使用SSH连接GitLab的时候会有一个RSA密码指纹确认,输入yes接受即可,以后再连接就不会出现确认提示了。
这就是我们通过SSH方式clone下来的项目。到此,我们就完成了为GitLab账号添加SSH Keys并连接GitLab的所有过程。
一般会遇到如下问题:
1 .git添加公钥后报错sign_and_send_pubkey: signing failed: agent refused operation的解决办法
在服务器添加完公钥后报错
``
sign_and_send_pubkey: signing failed: agent refused operation
Permission denied (publickey).
解决办法:这个时候我们只要执行下
eval ``"$(ssh-agent -s)"
ssh-add
就可以了
2.[解决 id_rsa 权限不够](http://blog.chinaunix.net/uid-26495963-id-3308698.html)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/home/robin/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /home/robin/.ssh/id_rsa
解决办法:这个时候我们只要执行下
chmod 755 ~/.ssh/
chmod 600 ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/known_hosts
三 、git 相关语句
git status //查看状态,工作区相对于版本库是否有修改
git diff //查看不同之处在哪
git add filename //把指定文件添加到版本库中的暂存区
git commit -m "备注" //把暂存区的修改提交到最终的本地仓库中
git checkout -- filename //会把工作区的相应文件恢复到你最近提交的一个版本,即丢弃了工作区最新的更改,适用于还未提交的情况。
git reset HEAD filename //丢弃了相应文件的最新提交(add),不改变工作区和库区,只改变了暂存区。
git reset --hard HEAD^ //版本回退,工作区和库区都进行相应的回退。
rm filename //删除工作区的相应文件
git rm filename //删除库区的相应文件,注意删除之后应该进行commit
网友评论