ubuntu git ssh方式添加钥匙

2019-08-22  本文已影响0人  嵌入式工作

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个回车,密码为空。

image

最后得到了两个文件: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

上一篇下一篇

猜你喜欢

热点阅读