Git:如何在命令上用git pull [with password]?

时间:2014-05-28 09:03:19

标签: git shell

我创建了一个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历史来泄露密码

感谢帮助。

1 个答案:

答案 0 :(得分:2)

来自:https://superuser.com/questions/338511/how-do-i-disable-password-prompts-when-doing-git-push-pull

为无密码身份验证生成私钥/公钥对。 对于Linux,您的密钥存储在~/.ssh.

如果您已将~/.ssh中的文件命名为id_rsaid_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/