之前公司的源代码管理是放在svn上的,最近公司想把代码迁到git上,并把git服务器架在阿里云上。git服务器由我来搭建
Linux的环境
|
|
在Liunx上安装Git
|
|
安装完成后 ,查看git版本。如果有信息返回说明安装成功
在服务器上创建git用户,用来管理Git服务,并为git用户设置密码
|
|
在服务器上创建Git仓库
设置repository文件下test为一个测试仓库
然后把git仓库的owner所有者改成wxh
在本地新建一个文件夹 通过客户端gitbash远程克隆仓库
如果ssh端口号是22
如果ssh端口不是22(假设是222)
当第一次连接目标Git服务器时会得到一个提示
选择yes
此时 C:\Users\用户名.ssh 下会多出一个文件 known_hosts,以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。
通过SSH公钥来进行免密验证
|
|
此时 C:\Users\用户名.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub
id_rsa 是私钥
id_rsa.pub 是公钥
服务端Git打开RSA认证
进入到/etc/ssh目录,编辑sshd_config
打开后去掉以下三个配置的注释
保存重新启动sshd密码
由 AuthorizedKeysFile 得知公钥的存放路径是 .ssh/authorized_keys,实际上是 $Home/.ssh/authorized_keys,由于管理 Git 服务的用户是 wxh,所以实际存放公钥的路径是 /home/wxh/.ssh/authorized_keys
在/home/wxh/下创建目录.ssh
然后把 .ssh 文件夹的 owner 修改为 wxh
将客户端的公钥导入到服务端
回到git bash 下,导入文件
回到服务端,查看.ssh下是否存在authorized_keys 文件
重要的事情说三遍
修改 .ssh 目录的权限为 700 修改 .ssh/authorized_keys 文件的权限为 600
修改 .ssh 目录的权限为 700 修改 .ssh/authorized_keys 文件的权限为 600
修改 .ssh 目录的权限为 700 修改 .ssh/authorized_keys 文件的权限为 600
客户端再次测试git clone远程仓库
|
|
禁止git用户登陆服务器
|
|
改为