GIT SSH免登录密码实现更新(git pull)、推送(git push)操作

 一、使用场景

现在有两台服务器A和B,在A服务器上搭建有git版本代码仓库,现要实现B服务器SSH免密码登录A服务器,并能够从A服务器拉取、推送代码!

 

二、操作步骤

1、在B服务器项目根目录下执行以下命令生成公钥和私钥:

  git config --global user.name "test"

  git config --global user.email "test@qq.com"

  ssh -keygen -t rsa // 连续回车三次

2、将生成的rsa.pub的内容拷贝到A服务器下/home/git/.ssh/authorized_keys文件中,保存即可;

3、在B服务器项目根目录下的.git目录配置config文件:

  [core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
  [remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@A服务器的IP:/home/git/repositories/test
    [branch "master"]
    remote = origin
    merge = refs/heads/master

注意红色字体部分,表示用git用户SSH认证方式登录到A服务器,所以在步骤2中要将公钥信息放到/home/git目录下!

 

三、常见问题

1、如果A服务器的SSH服务的端口号发生了变化,比如修改为18898,而不是默认的22,那么B服务器要做哪些修改呢?

答:在B服务器中进入项目根目录的所有者用户(例如www用户)的主目录(一般为home/www,根据/etc/passwd设置而定)/.ssh,使用vi config输入“port 18898”保存文件即可!

posted @ 2018-03-26 22:32  冰狼爱魔  阅读(759)  评论(0编辑  收藏  举报