我创建了一个Deployment shell脚本,为我们所有的网站预览$git pull
,例如:
#!/bin/bash
repo1=/var/www/html/website1
repo2=/var/www/html/website2
for repo in $repo1 $repo2
do
(cd "${repo}" && git pull )
done
这实际上有效但需要为任何$git pull
命令键入密码。
我们有10个网站存储在4台服务器上,因此输入密码40次会有点麻烦。
是否有一种简单的方法可以为git pull
命令添加密码?
例如:
$ git pull -pw [密码]
我知道这不是最好和最安全的方法,但因为我有2个人中有1人有权访问服务器,所以我并不担心有人通过观看Shell历史来泄露密码
感谢帮助。
答案 0 :(得分:2)
来自:https://superuser.com/questions/338511/how-do-i-disable-password-prompts-when-doing-git-push-pull
为无密码身份验证生成私钥/公钥对。
对于Linux,您的密钥存储在~/.ssh.
如果您已将~/.ssh
中的文件命名为id_rsa
和id_rsa.pub
,那么您已拥有密钥对。将您的公钥(即id_rsa.pub
)的内容附加到Git存储库~/.ssh/authorized_keys file
。
$ scp ~/.ssh/id_rsa.pub user@git.repo:id_rsa.tmp
$ ssh user@git.repo
$ cat id_rsa.tmp >> .ssh/authorized_keys
如果您没有密钥对,请使用
生成密钥对 $ ssh-keygen -t rsa
阅读本文以获取进一步说明:http://inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/