Ubuntu 安装 git 仓库

本文详细介绍了如何在本地电脑上创建SSH密钥,并通过公钥认证方式配置Git服务器,实现安全的代码推送和拉取。从创建ssh密钥、git用户、证书登录,到初始化git仓库、禁用shell登录、克隆仓库,再到设置仓库接收代码提交及服务器端更新钩子,每一步都配有具体命令行操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接1
参考链接2

  1. 本地电脑创建 ssh 密钥
ssh-keygen -t rsa //这时会要求你输入保存密钥的路径,这时只需要点击回车保存在默认路径
cat ~/.ssh/id_rsa.pub //查看公钥,之后要粘贴到服务器的 authorized_keys 文件中
  1. 创建 git 用户
adduser git
  1. 创建证书登录
su - git // 中间有空格, -  不能省略,不然后面可能会出现没有权限创建文件夹ssh
mkdir .ssh
chmod 700 .ssh
touch ~/.ssh/authorized_keys 
chmod 644 ~/.ssh/authorized_keys 
vim ~/.ssh/authorized_keys //把公钥复制到~/.ssh/authorized_keys
  1. 初始化git仓库
cd /home/git/
mkdir gitrepo
cd gitrepo
git init
chmod -R 777 gitrepo //初始化完后更改读写权限可能还要修改拥有者等权限
  1. 禁用shell登录
which git-shell 
//得到路径 /usr/bin/git-shell
vim /etc/passwd
	git:x:1001:1001:,,,:/home/git:/bin/bash
	改为
	git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
  1. 本地电脑克隆
git clone git@192.168.0.2:/home/git/gitrepo
  1. 让仓库接受代码提交
vim .git/config
	[receive]
	denyCurrentBranch = ignore
  1. 或者本地不克隆,添加远程
git remote add origin user@ip:/home/git/gitrepo
  1. 设置服务器端更新钩子 post-update
cd .git/hooks
vim post-receive
//将如下内容复制到文件中
	#!/bin/sh
	unset GIT_DIR
	cd ..
	git checkout -f
//保存后修改读写权限
chmod 777 post-receive
### 安装Git 为了在Ubuntu系统中安装Git,需通过终端执行一系列命令来确保软件环境是最新的,并完成Git安装。这可以通过运行以下命令实现: ```bash sudo apt update # 更新软件包列表信息[^2] sudo apt install git # 安装Git[^2] ``` 确认安装完成后,可以验证Git版本以确保其已成功安装。 ```bash git --version ``` ### 创建本地Git仓库 一旦Git被正确安装,在指定位置创建一个新的Git库作为工作目录是必要的。此操作可通过`git init`命令完成,该命令会初始化一个新的Git仓库于当前路径下的`.git`隐藏文件夹内。 ```bash cd /path/to/your/project # 替换为实际项目路径 git init # 初始化新仓库[^3] ``` 此时,已经建立了一个用于追踪代码变更的新Git仓库。 ### 配置SSH密钥以便安全访问远程仓库 对于希望简化登录流程以及增强安全性的情况来说,配置SSH公钥认证是一种理想的方式。具体步骤如下所示: #### 生成SSH密钥对 如果尚未拥有SSH密钥,则应首先生成一对SSH私钥和公钥。通常情况下,默认选项即可满足需求;但是可以根据个人偏好自定义这些参数。 ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 上述命令将会提示用户选择保存密钥的位置(默认通常是合适的选择),之后还需设定密码保护私钥的安全性。 #### 添加SSH密钥至SSH代理程序 为了让计算机能够自动管理身份验证过程,需要启动SSH代理并将刚刚生成的SSH私钥添加进去。 ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 这里假设私钥位于标准位置即用户的主目录中的.ssh子目录里名为id_rsa。 #### 将SSH公钥上传给远程服务提供商 最后一步是要把刚才创建出来的SSH公钥复制粘贴到目标代码托管平台上对应的账户设置页面中去。大多数主流的服务商都提供了专门用来接收这种形式的身份凭证的地方。 --- 当完成了以上所有准备工作以后,就可以利用克隆(clone)、推送(push)或拉取(pull)等方式轻松地同远端存储库交互了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值