git ssh免登陆,以及ssh config

摘要:
您也可以使用Git帐户密码登录。以下是如何使用ssh方法实现免登录(可以实现第一步和第二步)。步骤1:下一次,将验证公钥和机器的已知值_主机是否一致。在gitlab中配置计算机的ssh公钥以登录gitlabProfilesettings->
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免登陆,以及ssh config第1张
 
至此,就实现了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》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Velocity 创建命令缓存eclipse开发 javafx(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Struts2 为什么被淘汰?自己作死!

Struts2 那些年可谓是风光无限啊,Struts2 + Spring + Hibernate 三大框架一起组成了 "SSH"————牛逼哄哄的 Java Web 框架三剑客。 SSH,有过几年工作经验的 Java 程序员应该都听说过吧?现在刚出来工作的小弟弟、小妹妹们应该很少有人了解它了。 但,那个还属于 SSH 风靡的年代,不管你是在学校学习,还是去...

基于Docker构建安装Git/GitLab,以及制作springboot工程镜像

今天给大家分享的是《领先的开源自动化服务器Jenkins的应用实战》之基于Docker安装构建Git/GitLab版本控制与代码云存储的场所;使用Git管理项目,springboot工程制作镜像知识体系,欢迎大家一起阅读! Git/GitLab版本控制与代码云存储的场所   免费开源的分布式版本控制系统 本地离线存储:绝大多数操作都只需要访问本地文件和资源...

raspberrypi树莓派liunx下安装golang1.9环境(debian)

直接安装go1.6以上版本会出现提示 Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4. Go1.9的构建过程需要用于引导的 Go1.4二进制文件(简而言之,它需要去构建Go) 首先从源头构建Go1.4 然后用Go1.4二进制文件从源代码构建Go1.6以上版本 安装流程 1、如果安装了旧版本的...

Git、Github和GitLab的区别及与SVN的比较

个人理解:   SVN适合领导啊,大家一起在加班,看你进度什么的,git则不必如此,忙完传上来完活。 一、含义: 百度上这样介绍的:   Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软...

使用 IDEA和Maven 整合SSH框架

1.创建web工程 一路next 下去就行。完成后,IDEA会自动构建maven工程。 2.创建如下项目结构 需要将 java文件夹设置为SourcesRoot目录,否则无法创建package 设置操作如下:选择文件夹,右击。 3.在pom.xml文件中引入框架包 <project xmlns="http://maven.apache.o...

【Git】4、创建代码仓库,HTTP、SSH拉取远端代码

拉取远端代码:使用Git命令下载远程仓库到本地 文章目录 拉取远端代码:使用Git命令下载远程仓库到本地 1、创建远程代码仓库 2、创建仓库 3、进入仓库 4、HTTP(S)获取远程仓库 首次拉取 更新代码 临时记住密码 永久记住密码 5、 SSH拉取 拉取代码 创建一个ssh key 添加公钥到服务器 再次拉取代码 更新代码 6、小结 H...