(假设服务端和客户端都是Linux)centos6.5 1 服务端:sudo yum install -y git-core # 安装gitsudo yum install -y openssh-serversudo yum isntall -y openssh-clientsudo useradd -m git #添加git用户sudo passwd git #设置git密码 su git #切换到git用户mkdir example.gitcd example.gitgit -bare init #创建裸版本库 2 客户端:生成ssh-key,并且推送到git服务器上 通过 ssh-keygen -t rsa 生成scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/ #scp 把ssh-key推送到git服务器 3 ssh [email protected] 用git用户登录服务器cat ~/.ssh/id_rsa.pub >> authorized_keys #建立信任关系chmod 755 /home/gitchmod 700 /home/git/.sshchmod 644 /home/git/.ssh/authorized_keys #这个权限的值需要注意。exit 4 回到客户端 mkdir examplecd examplegit init #初始化gittouch a.txtgit add a.txtgit commit -m ‘fisrt commit‘ a.txtgit remote add origin [email protected]:example.git #设置远程仓库git push origin master #推送 5新增加一个开发者 a 在本地生成ssh-key b 推送到git用户目录下,追加到git用户目录下 ~/.ssh/authorized_keys 6 设置git用户的操作只能与git相关 。 sudo vim /etc/passwd 找到: git:x:502:503::/home/git:/bin/bash 替换成 git:x:1000:1000::/home/git:/usr/bin/git-shell
现在 git 用户只能用 SSH 连接来推送和获取 Git 仓库 OK~!
时间: 2024-10-13 11:52:40