linux自建git服务器(使用密钥ssh+密码登录 双重) +sourceTree可视化git管理

我是使用debian10系统环境,不同环境大致类似

一.Apt本地换源

     1. 打开虚拟机

     2. Ctrl+alt+F4 打开root设置

     3. root    输入root

     4. 输入root密码

     5. Vi  /etc/apt/sources.list  进入设置模块

     6. 把原来前面没有注释掉的注释掉(前面加#),并输入以下内容(内容可能会有更新,不确定时可以查看debian官网的链接):

         deb http://mirrors.163.com/debian/ buster main,

         deb-src http://mirrors.163.com/debian/ buster main,

         deb http://mirrors.163.com/debian/ buster-updates main contrib

     7. 输入完成后 按ESCT退出编辑模式 并输入:wq保存并退出

     8. apt-get update   更新本地源


二.创建服务器端登录用户

     1. su root    切换到root账户(如果已经在root账户,请忽略)

     2. apt-get install git   安装git(删除用apt-get remove git)

     3. 连接按几次enter确定,到一直输出同一段内容

     4. sudo adduser git(账号名字可以随便设置 现已git名称为例 名字不同下面所有的名字依次替换即可) 然后输入密码 以及必要的信息

     5. 输入新密码,点击enter

     6. 全名、房间号......一共五个问题填写你自己想要填写的或者一直点enter键就行

     7. 输入y再点enter确认

     8. cd/home && ls -al    查看账户是否创建成功


三.服务器端git的手动权限管理

     1. 切换到你创建的git服务器 这里我创建的用户叫git 

          su git    切换到git

     2. cd  /home/git    进入主目录

     3. mkdir .ssh    创建.ssh的配置,如果此文件夹已经存在请忽略此步

     4. cd/home/git/.ssh    进入刚创建的.ssh目录

     5. touch authorized_keys    创建authorized_keys文件,此文件存放客户端远程访问的 ssh的公钥

     6. chmod 700 /home/git/.ssh/

     7. chmod 600 /home/git/.ssh/authorized_keys    设置权限,此步骤不能省略,而且权限值也不要改,不然会报错


四.客户端生成公钥(用sourceTree的话这部先省略)

     1. 客户端查看目录C:/user/Administrator文件夹下是否有.ssh文件夹

     2. 此文件夹下是否有下面2个文件(id_rsa  、 id_rsa.pub)钥匙对

     3. 如果没有,就创建ssh的私钥(适合用git生成): ssh-keygen -t ras   

     4. cd 到.ssh文件夹中

     5. scp id_rsa.pub git@主机名:.ssh/id_rsa.pub    把公钥复制到服务器的ssh文件里

     #6. ssh git@主机名    在客户端进入服务器端的git账户

     #7. cd .ssh   进入.ssh文件夹

     #8. ls     查看是否把公钥复制到服务器端


五.服务器端添加公钥

     1. su git/.ssh    在服务器端进入git下面的ssh文件夹

     2. ls    查看公钥是否添加

     3. cat id_rsa.pub >> authorized_keys    把公钥添加到存放公钥的文件中

     4. cat authorized_keys    查看是否添加成功



六.添加服务器密码登录权限

     1. Su root    进入root修改权限

     2. vi  /etc/ssh/sshd_config    点击enter确定进入权限编辑

     3. 编辑窗口找到下面五个配置(不一样的改一下,没有就添加上)。

     (1)StrictModes  yes                            (严格模式)

     (2)PubkeyAuthentication  yes                   (使用密钥)

     (3)AuthorizedKeysFile                           (.ssh文件存储位置)

     (4)PasswordAuthentication  yes                 (使用密码)

     (5)RSAAuthentication  yes                      ( 启用RSA认证 )

     (6)AuthenticationMethods  publickey,password     (密码和密钥都使用)

     4. 全部修改完后保存并退出

     5. /etc/init.d/ssh restart   重启root


七.链接服务器

     链接是否成功:   ssh git@主机地址

八.配置sourceTree

     下载安装后打开


点击工具操作栏 创建或导入ssh密钥
key需要选择第二个


点击Generate 并不停的晃动鼠标


红色的部分拷贝出来并保存为文档这个就是公钥 执行第四项的5步骤和第五项操作,绿色部分的为设置密码需要填写,蓝色部分为保存成私钥


最后就是添加putty key 就是刚才你保存的那个私钥。之后就可以输入你需要clone的git的路径了 就是你自建的git服务器地址的git仓库 格式为[email protected]:ceshi.git

sourceTree 有许多的bug 遇到过一个就是请求服务器名字可以 但是请求ip地址不可以

最后是需要重新更新一下sourceTree 的passwd 这个文件里面的内容 最好清空一下 重新添加


配置即可名称访问也可以ip访问 然后重新添加putty key这个私钥就可以了

你可能感兴趣的:(linux自建git服务器(使用密钥ssh+密码登录 双重) +sourceTree可视化git管理)