在主机上建立一个 git 账户,让每个需要写权限的人发送一个 SSH 公钥,然后将其加入 git 账户的 ~/.ssh/authorized_keys 文件。这样一来,所有人都将通过 git 账户访问主机。这丝毫不会影响提交的数据——访问主机用的身份不会影响commit的记录。
1.ssh-keygen -C
"你的email地址"
-t rsa
后面直接回车直到结束,中间可以不需要任何设置,该命令将生成一对非对称的公/私密钥,默认它们被存储在:
XP/2003用户:c:/Documents and Settings/登陆名/.ssh
Vista用户: c:/Users/登陆名/.ssh
该.ssh文件夹下面,密钥放在id_rsa文件里面,不用理会它;
2、在linux服务器上将公钥加到git用户的authorized_keys文件中。
可以参考:http://github.com/git-on-windows/rookies
git用户的建立及设置参考:http://progit.org/book/zh/ch4-4.html
注意,git上的仓库对git用户要有写权限,同时需要将/etc/ssh/sshd_config中将RSA认证打开,即:
XP/2003用户:c:/Documents and Settings/登陆名/.ssh
Vista用户: c:/Users/登陆名/.ssh
该.ssh文件夹下面,密钥放在id_rsa文件里面,不用理会它;
2、在linux服务器上将公钥加到git用户的authorized_keys文件中。
可以参考:http://github.com/git-on-windows/rookies
git用户的建立及设置参考:http://progit.org/book/zh/ch4-4.html
注意,git上的仓库对git用户要有写权限,同时需要将/etc/ssh/sshd_config中将RSA认证打开,即:
- 1.RSAAuthentication yes
- 2.PubkeyAuthentication yes
- 3.AuthorizedKeysFile .ssh/authorized_keys
另外,我在ubuntu上连接用git用户连接时,报Agent admitted failure to sign using the key 错误,查了一下需要启动ssh-agent,然后添加id_rsa到ssh-agent中,再连接就可以了。
很多人可能会同时使用多个私钥,由于私钥默认为id_rsa,所以如果使用多个公钥的话,需要在~/.ssh 目录下创建一个config文件,其内容后面会给出demo.
本地配置,可以同时拥有多个私钥,如果有多个私钥,就设置多个Host:
1
|
vim ~/.
ssh
/config
|
config文件内容
1
2
3
|
Host gitserver.com
Compression
yes
IdentityFile ~/.
ssh
/privateke
|