gitosis clone项目时需要密码,全路径 解决办法
搭建好git后搭建gitosis
全部完成后在clone项目时 (管理员仓库), 提示需要输入密码,但是如果输入密码就会绕过gitosis的管理.那么安装gitosi就没什么意义了
解决的办法,除了几个目录的权限必须设置正确以外 (不能设置为777,有些目录只能设置为600或755什么的,设置目录权限网上有很多文章,这里就不说了)
但是设置过目录的权限之后还是提示让输入密码. 这个时候就需要特别注意了:
关键的地方在于你很可能手动导入过公钥,之后gitosis初始化的时候又导入了一次
gitosis会将你的xxx.pub的内容导入到git用户的.ssh/authorized_keys"文件
但是:
gitosis导入的格式和通常的格式不太一样,例如gitosis导入的格式前面会带有一些头信息:
command="gitosis-serve temp",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
gitosis导入的公钥我粘贴到这里一个:
### autogenerated by gitosis, DO NOT EDIT command="gitosis-serve andbibi@localhost.localdomain",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAypQpCz+IfPxefG0yAYKVmZhZYyd6Cq0VS/0TSTIU1gDwEz5wmcD6jaGhRqGM2Bp2vXCtFos5tP+Lh6k8/eR58sCE1/BS7Ect5o5+n3d5rR+Yla8euc5pwXoBtwTzLZ549aPv+tmDrBc1YnrXZ0nBwJKqcmRcF5y7zarqI7UIKBIcrNs71DLMsEg+4WHnR2dAY7LalDw1srP3AtiMYFZcsUjDgKFpBrnZsNyPfYIXSrW3ZU9tbdkISnLzIA1TnVrv4ubLc2qG6c9BKIGjPJRT9a+YAlS9BflVQwksCywi7ce3s3CQ3bwg9ylW78JBgLIRYIqSKozTxv8IckVSXNDwTw== andbibi@localhost.localdomain
对比一下自己手动导入的,是不是不一样?
前面之所以要一直要用密码,全路径才能clone项目,就是因为服务器端的authorized_keys文件中手动导入了多个xxx.pub文件,,,,,把自己手动导入的全部删除,只留下gitosis程序生成的就可以了
关键的地方在于,gitosis会将你的xxx.pub的内容导入到git用户的.ssh/authorized_keys"文件,
gitosis导入的格式和通常的格式不太一样,例如
command="gitosis-serve temp",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX