git去连接github或gitlab上的远程仓库,可以使用ssh方式,也可以使用git的账号密码登录
这里介绍使用ssh方式实现免登陆(第一步和第二步即可实现)
 

第一步:生成ssh秘钥

ssh-keygen -t rss -C xxx@xx.com
 
也可以不设置邮箱,直接【ssh-keygen -t】生成秘钥
 
输入命令后第一步提示生成ssh key生成的位置,默认是~/.ssh/id_rsa
然后提示输入密码,如果直接回车则没有密码,下次本地提交git时也不需要输入密码了
 
生成文件的结果如下(~/.ssh/目录下内容):
id_rsa
id_rsa.pub
known_hosts
 
说明:
id_rsa:私钥
id_rsa.pub:公钥
known_hosts:访问过的机器的公钥,第一次ssh 其他机器时如果有权限访问,会提示是否保存信息,下次会校验访问该机器的公钥与known_hosts中的是否一致,如果不一致则不能登录过去。解决方案是删除known_hosts中该条机器的记录
 

第二步:gitlab中配置机器的ssh公钥

登录gitlab
Profile settings->SSH Keys->Add  SSH Key
然后添加本地的~/.ssh/id_rsa.pub的内容即可
 
 
至此,就实现了git免登陆

如果是要ssh免登陆某台机器

例如A要免登陆B机器
在B机器的~/.ssh/目录下新建一个文件authorized_keys,然后将A机器的ssh 公钥放进去即可

其他说明:ssh config与git的config

ssh config
git在本地提交到gitlab上时,会读取ssh的公钥秘钥信息。
如果在~/.ssh/目录下有config则会优先读取config的配置信息,否则直接读取id_rsa和id_rsa.pub
 
配置config文件(~/.ssh/config):
Host xxx(ssh别名)
HostName gitlab.xxx.com/IP(要连接的gitlab地址或主机名)
User xxx@xxx.com(账号,要与git config的email对应)
IdentityFile "~/.ssh/id_rsa_xxx(要使用的ssh私钥)"
 
通过config文件可以管理多个ssh会话。通过Host别名也可以直接【ssh 别名】登录到其他机器上

注意一点:

1.配置了User,git push时就一定要配置相同的email
如果不设置User,随意一个user.email都可以提交git push
如果设置了User,user.email必须匹配到config中的User才能提交【git config user.email=xxxx@xxx.com】
 
如果不想写死git config的user.email,可以不配置config的User,去掉这项就可以
 
2.config文件权限要设置成600,否则提示Bad owner or permissions on /home/work/.ssh/config
 
git config
git push时需要配置user的email和name,除了上面说的配置了~/.ssh/config的User的情况。
email和name可以随便填写,不存在的gitlab账号也可以提交成功,只要你把ssh的公钥加到gitlab里即可。
只是如果email不存在,则gitlab上提交记录上用户头像不能点击;如果真实存在的gitlab账号,点击进入该用户的个人主页
 
git config user.email “xxx@xxx.com"
git config user.name “xxx@xxx.com"
 
 

git ssh免登陆,以及ssh config的更多相关文章

  1. Linux2 在Linux(CentOS)上配置SSH免登陆

    前言:      本文主要是我在安装hadoop之前,需要先配置SSH免登陆.通过网上搜索,发现不少类似的资料,但多少都有些小问题,所以结合自己的实践,记录在此,作为参考.如果能帮助到其他人,自然是更 ...

  2. Centos 集群配置SSH免登陆脚本

    首先编写脚本生成集群服务器列表: hostsList.sh #!/bin/bash preIp="11.11.225." pwd="dyj2017" for i ...

  3. 修改主机名和修改主机映射和ssh免登陆

    1.修改主机名 vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=cc3 2.修改主机映射 vi /etc/hosts 127.0.0.1 loca ...

  4. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  5. hadoop集群配置SSH免登陆

    今天给大家总结一下hadoop集群之间免登陆的步骤 node1 ssh node4 1.在node1中生成密钥 [root@node1 ~]# ssh-keygen -t dsa -P '' -f ~ ...

  6. Mac OS X上如何实现到Linux主机的ssh免登陆

    转载说明: 本文转载自 http://www.aips.me/mac-key-ssh-login-linux.html 生成密钥对 用密码登录远程主机,将公钥拷贝过去 done 第一步:生成密匙对执行 ...

  7. Linux多个机器配置ssh免登陆

    多机器ssh免密码登录的教程,网上有很多,多的数不过来,但是我的安装过程不是很顺利,因为刚开始使用的是普通的user,虽然配置了sudo权限,但是没有root权限,导致了无论如何配置都不能实现免密码登 ...

  8. git + idea 配置 github设置ssh免登陆方式提交拉取代码

    1.下载安装git,官网:https://git-scm.com/download/win  安装默认配置安装 git2.20版本地址百度网盘地址: 链接:https://pan.baidu.com/ ...

  9. Linux SSH免登陆配置步骤

    [jans@centos2 ~]# cd ~[jans@centos2 ~]# ssh-keygen -t rsa  //生成rsa加密的公钥和密钥[jans@centos2 ~]# cat .ssh ...

随机推荐

  1. python中的partition、rpartition

    partition()从左向右寻找,以字符串中的某个元素为中心将左右分割共分割成三个元素并放入到元组中 partition()从右向左寻找,以字符串中的某个元素为中心将左右分割共分割成三个元素并放入到 ...

  2. stage的划分

    stage的划分是以shuffle操作作为边界的,遇到一个宽依赖就分一个stage 一个Job会被拆分为多组Task,每组任务被称为一个Stage就像Map Stage, Reduce Stage.S ...

  3. 白鹭引擎 - 对象的添加与删除 ( 开关效果 addChild, removeChild )

    class Main extends egret.DisplayObjectContainer { /** * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须调用父类的构造函数 ...

  4. Spring cloud(2)B Eureka 注册微服务到服务中心

    1.在provide上添加pom(必须加上web)   如果不加 启动后就会自己关闭 <dependency> <groupId>org.springframework.clo ...

  5. SQL SERVER 查看mdf ldf文件路径

    SQL SERVER 查看mdf ldf文件路径 select filename from sysfiles

  6. python 中的比较==和is

    Python 中的比较:is 与 == 在 Python 中会用到对象之间比较,可以用 ==,也可以用 is .但是它们的区别是什么呢? is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象 ...

  7. Django 之Form

    具体可参考:http://www.liujiangblog.com/course/django/153 https://www.cnblogs.com/liuguniang/p/7141837.htm ...

  8. input点击后的 默认边框去除

    转自 http://blog.sina.com.cn/s/blog_9f1cb4670102v47g.html css文件里加句话:*:focus { outline: none; } 或 input ...

  9. 用ADO操作数据库的方法步骤(ZT)

    http://www.cppblog.com/changshoumeng/articles/113437.html 学习ADO时总结的一些经验 用ADO操作数据库的方法步骤 ADO接口简介 ADO库包 ...

  10. VUE 计算属性 vs 侦听属性

    计算属性 vs 侦听属性 Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属性.当你有一些数据需要随着其它数据变动而变动时,你很容易滥用 watch——特别是如果你之前使用过 ...