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)