git免密pull指定ssh密钥文件
git免密pull指定ssh密钥文件
免密登陆其他机器、获取资源一直是一种非常高效、高度自动化、智能化的方式。技术爱好者不可不知,且最好知行合一。
1、多机共用密钥
在部署时总是希望被部署的服务器上可以免密码执行clone、pull等只读操作。从不用手动输密码到自动更新。能省多少心啊。。。。:)当然自动部署可以用github、gitee的post hook功能,也可以用操作系统的定时任务实现。此处不加讨论。本文着重点在于git pull git@ssh_repo_path时如何指定特定的密钥文件。因为直接执行pull git@ssh_repo_path是会从~/.ssh/id_rsa读取密钥的。如何指定特定的密钥呢?为啥要指定特定的密钥啊。。。。。。因为如果我把密钥都做了备份拷贝,那么换一台机器,直接使用相应的密钥就行了,不需要再重新生成密钥、公钥,然后将公钥添加到github等项目中。能省很多事嘞。。。。。
2、思路
- 利用git的 SSH_COMMAND环境变量来指定特定密钥。
来一段windows下的cmd脚本
set rsa_path=operation/keygen/id_rsa
git config core.sshCommand "ssh -i %rsa_path% "
git pull git@gitee.com:your_repo.git
这段脚本首先设定密钥的相对路径(相对于git根目录)。然后设置SSH_COMMAND环境变量。然后执行git pull ssh_repo_path指令去更新本地目录。本人采用的就是此种方式。另外statckoverflow上还有一些别的思路附后。本人没有验证,有兴趣童鞋可以研究其原理并尝试下。
3、其他方式
- ssh-agent sh -c ‘ssh-add ~/.ssh/id_rsa; git fetch user@host’
GIT_SSH_COMMAND
GIT_SSH_COMMAND=’ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no’ \
git clone user@host~/.ssh/config
Host github.comUser gitHostname github.comIdentityFile ~/.ssh/id_rsa
git免密pull指定ssh密钥文件相关推荐
- Git 免密Pull/Push
第一步:Git地址pull 如上图,第5步选择自己的密钥文件位置即可.以后每次pull/push,注意勾选第1步的"Autoload Putty Key",就不用输入密码了
- Ansible playbook文件中指定SSH密钥文件
Ansible playbook可以在命令行上使用--key-file指定用于ssh连接的密钥. ansible-playbook -i hosts init_system.yml --key-fil ...
- git 免密登录设置
git 免密设置 1.登录git页面 2.生成密钥 3.添加密钥 4.拷贝工程 1.登录git页面 首先登陆git页面浏览器,右上角点击自己头像选择Settings,可以看到自己的邮箱,左侧有SSH密 ...
- jgit ssh java_java – 为JGit指定SSH密钥
我想知道如何使用jgit使用指定的ssh密钥文件连接到 github(即不在〜/ .ssh /中). 不幸的是,我不确定如何正确使用JschConfigSessionFactory.我尝试创建一个与本 ...
- 验证ssh免密登录_linux ssh 免密登录
转载请务必注明原创地址为:https://dongkelun.com/2018/04/05/sshConf/ 以下用三台centos为例,ip分别为192.168.44.138.192.168.44. ...
- linux免密登录_Linux SSH免密钥登录总结
Linux下生成密钥 通过命令"ssh-keygen -t rsa" 生成之后会在用户的根目录生成一个 ".ssh"的文件夹 进入".ssh" ...
- 远程连接服务器(免密登录,ssh协议22号端口),web服务器:URL格式,http协议,http请求常用的方法(get和post)
1.实现免密登录 两台Linux之间的免密登录 第一步:在客户端产生秘钥(一对公钥和私钥对) 第二部:将客户端的公钥copy到服务端 [root@server ~]# ssh-keygen -t r ...
- 虚拟机免密登录 (SSH 无密登录配置)
无密钥配置 (1)免密登陆原理 (2)生成公钥和私钥: [root@hadoop101 .ssh]$ ssh-keygen -t rsa 然后敲(三个回车),就会生成两个文件id_rsa(私钥).id ...
- 【Linux】scp“免密” 远程copy较多文件
一.linux脚本实现自动输入密码 使用Linux的程序员对输入密码这个举动一定不陌生,在Linux下对用户有严格的权限限制,干很多事情越过了权限就得输入密码,比如使用超级用户执行命令,又比如ftp. ...
最新文章
- 开发一个大型后台管理系统,应该用前后端分离的技术方案吗?
- [自定义区间-Range]书里的例子 - 中文数字类
- Cadence复用电路原理图及其PCB布局
- 语义角色标注视为依存句法分析任务:探索论元内部的隐式树结构
- SVN switch 用法详解
- 【NOI2013】快餐店【基环树】【树的直径】【set】
- 调查 20500 名开发者发现,最流行的编程语言不是 Python 和 Java
- 提交代码到远程GIT仓库,代码自动同步到远程服务器上。
- PHP 开发者该知道的 5 个 Composer 小技巧
- 《算法设计与分析》期末不挂科
- 中控考勤机无线连接不上服务器,中控考勤机连接不上电脑的解决方法
- 【Qt-Camera】大华相机显示线程
- android录屏代码(录屏并生成mp4文件)
- SQLServer过期解决步骤
- python画出K线图及技术指标
- springboot+微信小程序“微印象”在线打印预约系统的设计与实现毕业设计源码061642
- 第39级台阶(dp)
- 高通QSPR读写NV
- 齐博 php7,PHP代码审计理解(二)----齐博CMS7.0文件覆盖
- osmocom-bb 国外的一个开源项目, c118