环境:
server端:ubuntu 1204 lts 64.
client端:windows 7 x64 git for windows 64位
server端,使用sudo apt-get install git 命令,安装的git.创建了版本库,现在想同步到windows上来。
在网上找了一圈,怎么clone啊增加远程库啊。都完成了,就是pull,和push的时候,要输入ubuntu的用户密码。有点烦,增加了ssh的公钥,来免除输入密码。过程如下:
1.clinet端:
在命令行中(windows在git bash中)运行指令:
ssh-keygen -t rsa -C “youremail@example.com”
红色换成自己的邮箱。运行后看提示,找到生成的公钥、私钥文件。
在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露,id_rsa.pub是公钥,可以告诉任何人。
2.server端:
在linux服务器上将client端生的公钥加到git用户的authorized_keys文件中。公钥是一整行。
~/.ssh/authorized_keys 如果没有此文件,可手动建立此文件。
server端设置完公钥后,client端的远程分支pull push就没有密码输入了。
git是分布式,没有server和client之分,为了说的明白,借用这两个词来使。
因为本人不是系统管理员,所以也不是很明白这里邮箱的作用。默认的做法,是把生成密钥的邮箱,和git中user.email的邮箱设置一致的。
原来163博客,慢慢挪。
git服务器有一个软件叫:gogs 挺好用的。可以搜索了解一下。