乐趣区

关于git:搭建Git服务器设置免密登陆

有些代码不想传到开原仓库 github 或者码云,那么本人搭建 git 服务器将会是一个不错的抉择。

筹备工作

首先须要有一台 Linux 云服务器,举荐 Ubuntu,装置 git 非常简略。并且须要有一个具备 sudo 权限的账号,个别是 root

装置 Git

sudo apt-get install git

创立 Git 用户

用来运行 git 服务

sudo adduser git

创立证书免密登陆

创立本机的公钥

ssh-keygen -t rsa

而后一路回车到底,就会在 ~/.ssh/ 目录下看到两个新创建的文件,id_rsa.pubid_rsa,一个是公钥一个是私钥,这里关上公钥id_rsa_pub, 复制外面的内容前面会用到。
用新创建的用户登录 SSH 服务器,并关上服务器上的目录 /home/git,这里是新创建的用户根目录,个别状况下还没有创立.ssh 目录的,须要运行 ssh-keygen -t rsa 命令来创立,最好不要手动创立,不然还要更改目录权限。创立好 .ssh 目录之后,cd进去,而后 touch authorized_keys 来创立 authorized_keys 文件,这个文件是用来记录客户端的公钥,以实现免密登陆。将之前在客户端创立的公钥内容复制到 authorized_keys 中,而后保留退出。

初始化 Git 仓库以做测试

假如在 /home/git 目录下

git init --bare demo.git

会呈现一个 demo.git 目录,而后更改目录权限和所有者

sudo chown -R git:git demo.git

克隆 Git 仓库到本地

git clone git@xx.xx.xx:/home/git/demo.git

这时候按理说是不应该输出明码,间接克隆胜利的,如果没有胜利,阐明服务器上的 /home/git/.ssh/home/git/.ssh/authorized_keys权限不对。

  • .ssh 目录的权限必须是 700
  • .ssh/authorized_keys 文件权限必须是 600
    更改权限 sudo chmod -R 700 /home/git/.ssh,sudo chmod 600 /home/git/.ssh/authorized_keys

而后能够提交一下代码,测试一下是否胜利。

退出移动版