文章标题

git 设置 ssh 登录方式

生成公私钥对

在 git-bash 使用命令 ssh-keygen -t rsa ,一路回车,生成配对的公私钥,在个人目录下的 .ssh 文件夹中会生成 id_rsa 和 id_rsa.pub 两个文件,前者是私钥文件,后者是公钥文件。

设置 host

在个人目录的 .ssh 文件夹中创建一个 config 文件( windows 会阻止创建没有后缀的文件,此时需要在 cmd 中使用命令创建),输入内容:

Host git.xxx.com
    Port 36000
Host git.xxx.local
    Port 36000
Host xxx.xxx.xxx.xxx
    Port 36000

上面即是 git 服务器的 host,比如 A 公司的内部 git 服务器可能是 git.A.com

注意事项

由于不了解 ssh 认证协议,踩过一个坑:以为 git 的 ssh 认证方式也会使用之前 http 登录方式时设置的密码,或者 ssh 认证以某种方式依赖于 http 认证,所以在生成公私钥文件时也输入了密码(导致后续无法免输入密码登录)。
这个想法是错误的。首先,http 登录方式设置的密码必然不是以明文形式存储的,而且密码加密方式对于 ssh 是不可见的。其实 ssh 生成公私钥时我们可以指定任意算法(上面我们使用的是 rsa)。联想到以下两点:

  • 对密码的加密算法一般是不可逆的(即:ssh 不可能先对密文解密还原为原文再进行 http 登录)
  • 两个不同的加密算法对同一个密码加密后不会存在验证关系(ssh 密文与 http 密文没有某种确定的关系)

所以,在 ssh 生成公私钥时输入的密码与 http 的登录密码毫无关联。这即是说, ssh 认证是一种独立于 http 的协议:我们可以在生成公私钥时设置任何密码 – 但这样的话,在后续认证时需要手动输入前面设置的密码。
一般我们在生成公私钥时留空,后续就可以实现免密登录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值