zoukankan      html  css  js  c++  java
  • windows下给 Git Bash 添加ssh key私钥实现git免密


    git如果使用http/https协议,每次push时都会提示输入用户名和密码,使用ssh秘钥(git协议)则可以避免这一麻烦。

    1.添加ssh key私钥

    依次执行以下命令:

    exec ssh-agent bash
    eval ssh-agent -s
    ssh-add "C:UsersAdministrator.sshid_rsa"

    说明:
    1.命令ssh-add "C:UsersAdministrator.sshid_rsa"中,引号中的路径就是你私匙文件的路径,路径需要使用英文双引号包裹。

    Identity added: C:UsersAdministrator.sshid_rsa (C:UsersAdministrator.sshid_rsa)

    提示Identity added :说明已添加成功
    添加成功后在C:UsersAdministrator.ssh目录下会有三个文件


    id_rsa
    id_rsa.pub
    known_hosts

    需要注意的是在ssh add 之前执行一条 “ssh-add -D” 命令,这是用来清除已有的私钥。

    2.测试ssh key


    ssh -T git@192.168.31.1

    说明:
    1.命令"ssh -T git@192.168.31.1"中,@后面替换成git服务器的ip地址。

    提示 Welcome to GitLab, @xxx! 说明加入ssh成功。@后面的xxx为git用户名。

    就是免密push/pull代码了。

    遇到的问题

    1.windows下git pull/push提示输入密码,git@192.168.31.1's password:Permission denied, please try again.
    原因:SSH密钥对不匹配。这个错误主要密匙全路径名不相符,结果导致本地的SSH工具无法找到到正确的密匙。
    解决:首先检查生成的两个文件id_rsa和id_rsa.pub是否确实在~/.ssh路径下,如过不是,把它们移过去。
    其次是非常重要的一点,如果你在步骤2中自定义了ssh key的文件名,那么原因就在于你的命名与ssh内设定的名字不一致,因此需要手动添加秘钥。很多教程大概不是windows系统。。直接让输入命令

    ssh-add ~/.ssh/你的文件名

    其他常用操作

    1.在git bash输入remote -v查看当前的remote url


    git remote -v


    若得到的连接是以http/https开头的,是http/https协议,git开头的是git协议

    2.git从http/https协议替换成git协议


    git remote set-url origin git@192.168.31.1:8099/test.git

    done!

  • 相关阅读:
    delphi private public protected
    delphi 程序流程控制
    TTrayIcon-Delphi系统托盘组件
    如果没有你-莫文蔚
    ShellExecute 调用bat文件
    delphi ShellExecute使用
    delphi 测试ping
    centos7 安装redis
    my.cnf 基础配置
    Delphi的类和对象(七)- 继承
  • 原文地址:https://www.cnblogs.com/zqifa/p/13139536.html
Copyright © 2011-2022 走看看