找回密码
 立即注册
首页 业界区 安全 git 配置远程仓库

git 配置远程仓库

吕颐然 2025-9-30 17:50:24
本文是为了使用 git 拉取和推送时,能够免密同步远程服务器
ps:
首先要有一台远程服务器
其次是远程服务器和本地,都安装了 git
创建专属用户 git

使用 root 用户创建
  1. useradd git
复制代码
设置用户密码
  1. password git <you_password>
复制代码

  • 要输入自己的密码
  • 输入的密码并不可见
  • 需要重复输入密码进行确认
  • 或者直接简单粗暴地使用 echo "git:git_user_password" | chpasswd 来设置密码
切换到 git 用户
  1. su git
复制代码
配置远程仓库

在远程服务器上,选择一个路径作为仓库目录
本文以 /home/git/git_store/my_project.git/ 为例
创建项目目录
  1. mkdir -p /home/git/git_store/my_project.git
复制代码
跳转到仓库目录
  1. cd /home/git/git_store/my_project.git
复制代码
将仓库初始化为裸仓库 (没有编写源代码的工作区)
  1. git init --bare
复制代码
将仓库初始化为裸仓库 (直接指定目录的方式)
  1. git init --bare /home/git/git_store/my_project.git
复制代码
检查 git-receive-pack 和 git-upload-pack 两个命令的快捷方式,避免推送和拉取时报错
  1. ll /usr/bin |grep git
复制代码
如果没有 git-receive-pack 和 git-upload-pack ,就使用 root 用户,通过软链接创建 (注意自己的 git 安装目录的位置)
  1. ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack
  2. ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
复制代码
本地项目配置远程

进入本地的 my_project.git 项目目录
配置远程仓库的连接
  1. git remote add origin git@192.168.1.244:/home/git/git_store/my_project.git
复制代码
生成密钥

ssh-keygen参数说明
使用 ssh-keygen 生成密钥,几个主要使用的参数

  • -t 指定加密算法
  • -C 指定密钥注释 (相当于对密钥添加一个名字)
  • -f 指定要保存的密钥文件的路径和文件名
生成密钥
  1. ssh-keygen -t rsa -C "test@qq.com" -f ./sign/my_git_rsa
复制代码
然后一路回车,不要输入密码 (有密码的私钥,需要每次输入私钥口令,在 git 中如何配置免口令输入,未搞定)
为了方便后续操作,这里的 . 就是仓库所在目录
公钥复制到服务器

确认公钥鉴权
查看服务器 ssh 是否开启公钥鉴权
  1. cat /etc/ssh/sshd_config | grep PubkeyAuthentication
复制代码
出现 yes ,表示开启了公钥鉴权
  1. PubkeyAuthentication yes
复制代码
出现 no,表示未开启公钥鉴权
  1. PubkeyAuthentication no
复制代码
启用公钥鉴权
使用 root 用户编辑配置文件
  1. vim /etc/ssh/sshd_config
复制代码
输入下列内容,然后回车,搜索到该配置行,然后输入 i 进入输入模式,把 no 改成 yes 完成配置文件修改
  1. /PubkeyAuthentication
复制代码
重启 ssh 服务,使配置生效 (使用的是 centos 7 的命令)
  1. systemctl restart sshd
复制代码
复制公钥到远程服务器
在仓库目录中,打开 git bash ,使用 ssh-copy-id 复制指定密钥到远程服务器
  1. ssh-copy-id -i ./your_path/your_publich_key user@ip_address
复制代码
打开 git bash
鼠标右键
1.png

ssh-copy-id 复制指定密钥到远程服务器
  1. ssh-copy-id -i ./sign/my_git_rsa.pub git@192.168.1.244
复制代码
配置本地仓库使用的密钥

在当前仓库中,输入
  1. git config --local -e
复制代码
进入文件后,在英文输入法下,输入 i ,进入输入模式;在 [core] 下添加一行配置(指定 git 使用的私钥)
  1. sshCommand = ssh -i ./sign/my_git_rsa
复制代码
2.png

验证公钥生效情况

在仓库目录,输入 git pull 和 git push 都可进行验证
3.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册