ssh访问git配置

735 阅读1分钟

Mac、Ubuntu配置ssh方式

由于跳板机的缘故,ssh方式访问git.xxx.com需要双重验证(跳板机验证和git ssh验证)

Mac、Ubuntu配置步骤如下(例子用的zhangsan替换成实际用户名):

  • 申请公司的密钥对,私钥下载保存为 ~/.ssh/Identity,Identity权限设置为600,验证能ssh跳板机。
  • 用以下命令生成RSA密钥对,保存为 /.ssh/id_rsa和/.ssh/id_rsa.pub。
ssh-keygen -t rsa -C "zhangsan@xxx.com" -b 4096

  • 登录git.xxx.com,在个人设置SSH Keys里添加RSA公钥(~/.ssh/id_rsa.pub)。
  • 编辑~/.ssh/config,加入以下配置。

  • 验证能登录跳板机:
  • 退出跳板机,本地运行以下ssh命令,如果返回 Welcome 信息,说明配置成功。

Ubuntu 配置出现如下错误

/home/xxx/.ssh/config: line 2: Bad configuration option: AddKeysToAgent
/home/xxx/.ssh/config: line 3: Bad configuration option: UseKeychain
/home/xxx/.ssh/config: terminating, 2 bad configuration options

解决方法:去掉~/.ssh/config中的AddKeysToAgent 、UseKeychain 这两行配置

Windows配置SSH(git bash、SourceTree、TortoiseGit)

1. git bash

  • 请使用 Git Bash命令窗口进行配置,配置步骤参考Mac部分,其中~/.ssh/config跳板机jump部分增加PubkeyAcceptedKeyTypes ssh-dss,ssh-rsa
Host *
    ForwardAgent yes 

# 跳板机用的公司的私钥
host jump
    HostName      jump.xxx.com
    Port          *****
    User          zhangsan
    IdentityFile  ~/.ssh/id_dsa
    PubkeyAcceptedKeyTypes ssh-dss,ssh-rsa

# 用的RSA私钥
Host git.xxx.com
    Port          *****
    User          zhangsan
    IdentityFile  ~/.ssh/id_rsa
    ProxyCommand ssh -p ***** jump -W %h:%p

2. SourceTree(先配置好git bash)

安装好Sourcetree后,打开“工具”--》“选项”--》“一般”,其中SSH客户端配置:

  • 增加git bash中配置好的Identity和id_rsa两种证书
  • 选择SSH客户端为:OpenSSH

3. TortoiseGit(先配置好git bash)

  • 安装好TortoiseGit后,打开“Settings"-->"Network"选项,修改SSH client为git目录下的ssh.exe(C:\Program Files\Git\usr\bin\ssh.exe)