美文网首页GitGit使用Git
Git -i 指定私钥文件

Git -i 指定私钥文件

作者: Mark_Zhang | 来源:发表于2017-06-07 19:45 被阅读2482次

虽然git 支持ssh 协议,但是官方并不支持 ssh 的 -i 指令来指定要使用的key文件(私钥)。
假如在同一台服务器上默认的私钥并不是你的,你不想修改默认私钥,但是你也并不想使用别人的私钥文件来push自己的代码(虽然push操作显示的commit作者信息是你)。如果能指定自己的私钥文件就方便多了。
下面分享一个shell脚本,就可以方便的指定私钥文件,命令: git.sh -i xxx/id_rsa git-command
首先,创建git.sh 文件,添加如下代码:

#!/bin/bash

# The MIT License (MIT)
# Copyright (c) 2013 Alvin Abad

if [ $# -eq 0 ]; then
    echo "Git wrapper script that can specify an ssh-key file
Usage:
    git.sh -i ssh-key-file git-command
    "
    exit 1
fi

# remove temporary file on exit
trap 'rm -f /tmp/.git_ssh.$$' 0

if [ "$1" = "-i" ]; then
    SSH_KEY=$2; shift; shift
    echo "ssh -i $SSH_KEY \$@" > /tmp/.git_ssh.$$
    chmod +x /tmp/.git_ssh.$$
    export GIT_SSH=/tmp/.git_ssh.$$
fi

# in case the git command is repeated
[ "$1" = "git" ] && shift

# Run the git command
git "$@"

然后,添加可执行权限chmod +x git.sh
最后,把该文件放到/usr/local/bin/目录下,完成。
等需要的时候只需进行如下操作:
git.sh -i xxx/xxx(私钥文件地址) xxx(git 指令)git.sh -i ~/id_rsa push origin release-debug

相关文章

  • Git -i 指定私钥文件

    虽然git 支持ssh 协议,但是官方并不支持 ssh 的 -i 指令来指定要使用的key文件(私钥)。假如在同一...

  • ssh使用私钥登陆远程主机

    ssh -i ~/path/to/private login_user@host 通过使用-i选项指定私钥免密码登...

  • Git常用命令

    添加文件到暂缓区 添加指定文件到暂缓区:git add filename 添加指定多个文件到暂缓区:git add...

  • Git生成密钥、首次关联、创建分支等常用操作

    git生成密钥 项目首次关联git git创建分追 Git相关命令 通常使用git首先在本地生成公钥、私钥,公钥i...

  • Git文件操作命令

    添加文件 git add 添加指定文件: 添加所有文件: 取消添加文件 git reset HEAD -- fil...

  • git commit 忽略指定文件

    参考:git commit 忽略指定文件

  • Linux_351_openssl创建私有证书

    1、创建私钥和公钥,模拟证书颁发机构生成证书,生成一对密钥1、指定私钥长度1024,并且将生成的私钥信息保存在文件...

  • 证书的生成

    我们通过-in参数指定传入的文件名称,而-out文件指定输出的文件名称,而-nodes参数表示不对私钥进行加密 方...

  • git常用操作

    git取消本地所有修改: git checkout . git 取消指定文件修改: git checkout fi...

  • Android.gitignore忽略文件一篇就够

    1.名称指定有意未被跟踪的文件忽略 2.描述一个gitignore文件指定Git应该忽略的文件, Git已经跟踪的...

网友评论

    本文标题:Git -i 指定私钥文件

    本文链接:https://www.haomeiwen.com/subject/bhuafxtx.html