git免密码push和pull
我们在项目中经常会用到git,但是git每次输入密码的话无疑是十分痛苦的。我这里粗略的讲一下ssh免密码git方式。
首先你需要在服务器确定ssh已经被安装,我这里针对Linux。
yun install ssh*
apt-get install ssh*
没有安装会提示你确定安装。否则会提示nothing to do。
接下来我们可以进行关键的操作了。
首先你需要切换到git目录的用户(我就是git)
所以执行su git
接下来进入家目录
cd ~/
然后ls -a 查看一下是否已经存在.ssh的目录,如果存在则进入,否则执行下一步
执行ssh-keygen -t rsa -C "你的邮箱(这里-C和邮箱可选,也就是可不填的意思)"
输入命令后一直按回车到命令执行结束,你的.ssh文件夹就生成了,接下来进入它
cd ~/.ssh
查看一下你会发现最少有两个文件
id_rsa 和 id_rsa.pub两个文件,一个是公钥一个是私钥
现在你需要执行
cp -a id_rsa.pub authorized_keys
服务端的工作目前就做好了。
接下来是客户端,也就是你上传的地方
如果是windows则进行以下操作,否则(Linux)直接跟上面的一样的操作。
输入ssh-keygen -t rsa -C "你的邮箱(可不输入-C 邮箱)"
一直下一步到命令结束。
PS:如果没有ssh-keygen命令,请自行百度下载安装并且添加环境变量。
成功之后,我们就可以进入你现在的用户目录下的.ssh文件夹,将id_rsa.pub文件夹里的内容全部复制
然后粘贴进服务端的authorized_keys文件
同时服务端重启ssh服务即可(CentOs:service sshd restart Debian:sshd restart,其他系统如何重启请自行百度,)。
如果重启了也不可行,则进入/etc/ssh目录,编辑sshd_config文件,修改以下三个配置
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys