0


群晖安装Git Server开启SSH访问教程

文章目录

概述

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
本文将介绍如何在群晖安装Git Server并开记SSH访问,及免密登录。

群晖安装Git Server开启SSH访问教程

001安装套件

在群晖套件中心搜索Git会发现只有Git Server和GitLab。GitLab安装最少需要4G内存,平时运行占用内存3.5G,显然太占内存了。所以,这里我们用Git Server来管理我们的代码。点击安装套件即可。

002创建用户组、用户与目录

用具有管理员权限的帐户登录,在File Station文件工作站,新增共享文件夹,名字叫

gitRepo


在这里插入图片描述
编辑gitRepo 共享文件夹设置,也不用动,直接点确定就行。
在这里插入图片描述
在控制面板-用户群组,新增用户组,名字叫

dev_team


在这里插入图片描述
在控制面板-用户帐号,新增用户,名字叫

gituu

,并加入我们刚才创建的用户组。向用户授予 Git 存储库共享文件夹的读/写权限。
在这里插入图片描述
在主菜单-Git Server,点击后会弹出Git Server设置页面,钩选我们创建的用户gituu。允许用户通过 git-shell 访问存储库。
在这里插入图片描述

003启动SSH功能

控制面板,高级模式,终端机,钩选启动SSH功能,以便用户可通过 SSH 访问 Git 存储库。
在这里插入图片描述
控制面板,用户帐号,高级设置,钩选启动家目录。解决用户通过ssh访问的时候会提示目录不存在的问题。
在这里插入图片描述

004初始化Git仓库

用具有管理员权限的帐户ssh连接群晖,

# 切换管理员权限sudo-i# 进入刚刚创建的共享目录cd /volume1/gitRepo/

# 创建仓库sudogit init --bare sample.git

输出

Initialized empty Git repository in /volume1/gitRepo/sample.git/

Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库是一个目录通常都以

.git

结尾。
进去看看

# 进入目录cd sample.git/
# 显示文件列表ls-la

在这里插入图片描述

005修改所属用户、所属用户组、用户权限

Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:
chown (change owner) : 修改所属用户与组。
chmod (change mode) : 修改用户的权限。

# 查看我们刚刚创建的用户组cat /etc/group |grep dev_team
# 输出
dev_team:x:65538:gituu
# 查看仓库的详情ls-la /volume1/gitRepo/

在这里插入图片描述
显然文件及文件夹的所属用户、所属用户组为root,并非我们普通用户可以访问,需要修改。
修改所属用户、所属用户组

# 将当前前目录下的所有文件与子目录的拥有者皆设为 gituu,群体的使用者 dev_teamchown-R gituu:dev_team /volume1/gitRepo

试着访问一下。在win10操作系统有个

C:\Users\Administrator\.ssh

目录。建议先备份,清空当前目录,减少干扰。鼠标右键,用Git Bash Here。用gituu的密码登录。
在这里插入图片描述
上面的域名是我在路由器上映射的
在这里插入图片描述
在这里插入图片描述
致命,无法从远程存储库中读取。请确保您具有正确的访问权限并且存储库存在。

chmod-R775 /volume1/gitRepo

在这里插入图片描述
再次尝试
在这里插入图片描述
成功下载仓库。

007提交更新

# 检测状态git status
# 生成文件touch README.md
# 添加文件到本地缓存gitadd README.md
# 把缓存的文件提交到本地仓库git commit -m"first commit"# 提交到nasgit push
# 从nas拉取更新git pull

免密码登录

# 进入家目录cd /volume1/homes/gituu
# 查看是否有.ssh目录ls-la# 创建目录mkdir /volume1/homes/gituu/.ssh
# 将收集到的SSH 公钥粘贴进去,一行一个vim  /volume1/homes/gituu/.ssh/authorized_keys
# 修改所属用户及用户组chown-R gituu:dev_team /volume1/homes/gituu

如果没有公钥,使用

ssh-keygen -t rsa -C "[email protected]" -f /c/Users/Administrator/.ssh/nascc_id_rsa

产生公钥私钥对。生成的文件

nascc_id_rsa.pub

为公钥,粘贴上去。

nascc_id_rsa

为私钥,自己保管。

设置权限

在这里插入图片描述
用绝对路径也就是

chmod755 /volume1/homes/gituu
chmod600 /volume1/homes/gituu/.ssh/authorized_keys
chmod700 /volume1/homes/gituu/.ssh

修改 sshd_config 配置文件

sudovim /etc/ssh/sshd_config

修改上述文件中以下几个配置(也就是把前面的井号删除):

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

在群晖控制面板-终端机和 SNMP 关闭再开启 SSH,即可免密登录群晖。
在这里插入图片描述

如果设置成功后为了安全起见,建议在保存好 密钥对(id_rsa 和 id_rsa.pub)的情况下,关闭用密码登录群晖SSH,强制使用密钥对登录群晖SSH。
修改 sshd_config 配置文件:

sudo vim /etc/ssh/sshd_config

修改上述文件中以下配置:

PasswordAuthentication no

其他-Linux权限语法表

#权限rwx二进制7读 + 写 + 执行rwx1116读 + 写rw-1105读 + 执行r-x1014只读r–1003写 + 执行-wx0112只写-w-0101只执行–x0010无—000

参考博文

Git菜鸟教程
廖雪峰 - 搭建Git服务器
Git套件地址
群晖 SSH 公钥免密登录
windows下配置多个git账户

标签: git ssh docker

本文转载自: https://blog.csdn.net/m0_71266578/article/details/132454849
版权归原作者 m0_71266578 所有, 如有侵权,请联系我们删除。

“群晖安装Git Server开启SSH访问教程”的评论:

还没有评论