我是使用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
下载安装后打开
sourceTree 有许多的bug 遇到过一个就是请求服务器名字可以 但是请求ip地址不可以
最后是需要重新更新一下sourceTree 的passwd 这个文件里面的内容 最好清空一下 重新添加