2021年5月3日星期一

ssh连接git

git多账户,使用ssh连接

   当我们在提交代码时,需要做的第一件事,就是让我们可以连接到远程仓库服务器,也就是需要我们知道远程服务器地址、证明我们的身份,登录到远程服务器中。

   这其实就是一次ssh连接,那我来讲ssh吧。

   我们可以使用ssh user@hostname -p port进行ssh连接,然后输入密码。这里需要记住的有4个数据,他们是:远程服务器IP远程服务器SSH端口号用户名密码。下面让我们来逐一分析(顺序被打乱了):

  1. 远程服务器IP,可以通过修改C:\Windows\System32\drivers\etchost文件解决。这在本机 niginx 测试中比较常见,用一个好记的别名代替ip地址
  2. 用户名和密码,他们是一起的,用来鉴别用户身份。这个也很好解决,可以在本地生成公钥,私钥。在与远程服务器交互时,用私钥加密数据,远程服务器用公钥验证签名。
  3. 远程服务器端口号,一般是22,但是巧了,我们公司gitlab是一个自定义的,很难记住。

我们可以发现,记住4个数据很难,但是,一个服务器ssh端口号是固定的,一个账户的密码是固定的,那我们是否可以只记住2个数据,剩下的2个自动填入呢?

解决方案是有的,方案就在.ssh文件夹config文件中

config文件长什么样呢?我们来看一看

# gitlabHost gitlab.xxx.net # 别名,相当于baidu.comHostname gitlab.xxx.net # 主机名/地址,可以是ip、域名Port 33363 # 端口号User season # 用户名 PreferredAuthentications publickey # 加密方式-公钥IdentityFile C:\Users\season\.ssh\id_rsa_xxx # 加密文件# giteeHost gitee.comHostname gitee.comUser season-giteePort 22PreferredAuthentications publickeyIdentityFile C:\Users\season\.ssh\id_rsa_gitee

  一个config文件中,可以配置多条、使用#注释

  config文件中,包含了:服务器地址+端口号、用户名+验证信息(密码之类),这样子就可以解决我们之前说的数据太多不容易记住、不方便管理的问题。

  然后将我们的公钥配置到远程服务器中,ssh的相关操作就完成了,此时可以用ssh -T git@gitlab.xxx.net进行测试


  此时虽然测试成功,但是有一个问题,需要我们进行解决,那就是git中的用户名和密码还没进行配置。这很简单,配置一下就行。

  分别配置用户名、密码。可以配置全局的,也可以根据项目配置。如果用户信息都是一样的话,配置全局的;如果不同的账户对应不同的用户信息,那就老老实实根据项目配置

// 当前用户$ git config --global user.name season$ git config --global user.email season.qd@qq.com// 当前项目$ git config user.name season$ git config user.email season.qd@qq.com

说在最后:

  1. .ssh文件夹、config文件可能没有,需要手动添加。
  2. 生成密钥的命令是ssh-keygen -t rsa -C "season.qd@qq.com"
  3. config文件中的user,在git中是没用的,git只关心密钥,密钥可以做到验证用户信息,所以用ssh -T测试时,不管user写的是啥,都会返回欢迎xxx,这个名字一般是账户名。
  4. 其实公钥还是有比中100E彩票还要小的几率,但是我们不能认为绝对不会发生。但是这远比使用密码安全,不是吗?

完工,撒花

参考:
ssh的用户配置文件config管理ssh会话









原文转载:http://www.shaoqun.com/a/720756.html

跨境电商:https://www.ikjzd.com/

粉丝通:https://www.ikjzd.com/w/743

淘粉吧官网:https://www.ikjzd.com/w/1725.html


git多账户,使用ssh连接  当我们在提交代码时,需要做的第一件事,就是让我们可以连接到远程仓库服务器,也就是需要我们知道远程服务器地址、证明我们的身份,登录到远程服务器中。  这其实就是一次ssh连接,那我来讲ssh吧。  我们可以使用sshuser@hostname-pport进行ssh连接,然后输入密码。这里需要记住的有4个数据,他们是:远程服务器IP、远程服务器SSH端口号、用户名、密码
香港会计师事务所:https://www.ikjzd.com/w/2434
邮乐网:https://www.ikjzd.com/w/1776
拍怕网:https://www.ikjzd.com/w/2205
亚马逊店铺评价体系对流量有多大影响?:https://www.ikjzd.com/home/114433
关注疫情防控 | 医疗物资紧张啥时才能缓解?:https://www.ikjzd.com/home/115116
办公室上司魅力不浅 口述我和男上司的第一次出差之旅:http://lady.shaoqun.com/a/269733.html

没有评论:

发表评论