git服务器搭建好以后,git客户端有两种方式访问服务器,一种是https方式,一种是ssh方式,使用ssh方式可以避免每次提交都要输入用户名密码
在sourcetree当中用openssh方式访问自己搭建的服务器,clone时直接输入git@ip地址:/data/git/threebrush.git
会提示不是一个有效的git地址,详细信息Permission denied (publickey,gssapi-keyex,gssapi-with-mic),
解决方法如下
1.首先在客户端本机创建私钥,可以在bash里用命令创建
# 创建私钥,文件位于用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件
$ ssh-keygen -t rsa –C “youremail@example.com”
2.服务器git目录下创建.ssh目录和authorized_keys权限文件
$ cd /home/git/
$ mkdir .ssh #新建文件夹
$ chmod 700 .ssh
$ touch .ssh/authorized_keys #新建文件
$ chmod 600 .ssh/authorized_keys
3.拷贝客户单生成的id_rsa.pub文件到这个权限文件里
# cat /tmp/id_rsa.pub >> /home/git/.ssh/authorized_keys #将上传的id_rsa.pub的公钥写入到权限文件
再次clone成功
三把刷子
2 条评论
新建库并添加权限
mkdir my_new_repo.git
cd my_new_repo.git
git init –bare
# 确保仓库目录归git用户所有
sudo chown -R git:git ./backtrader.git
# 设置目录权限(确保可写)
sudo chmod -R 755 ./backtrader.git
上面的命令有误初始化空库应该是两个中划线
git init –bare