我正在使用我的覆盆子pi服务器,每当我克隆或在gitremotely上做任何事情时,我想在推拉上禁用密码。 我怎么做? 当我尝试将任何更改拉到或推送到服务器时,我不想在git shell上输入密码。
答案 0 :(得分:4)
我不确定您的确切设置是什么,但我觉得您希望在服务器上设置SSH密钥。 Pro Git一书涵盖了如何在Chapter 4.4中彻底完成这项工作:
让我们一起来设置服务器端的SSH访问。在这 例如,您将使用authorized_keys方法来验证您的身份 用户。我们还假设您正在运行标准的Linux发行版 喜欢Ubuntu。首先,您创建一个'git'用户和一个.ssh目录 那个用户。
$ sudo adduser git $ su git $ cd $ mkdir .ssh
接下来,您需要添加一些开发人员SSH公钥 该用户的authorized_keys文件。我们假设您收到了一些 密钥通过电子邮件发送并保存到临时文件中。再次,公众 键看起来像这样:
$ cat /tmp/id_rsa.john.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq dAv8JggJICUvax2T9va5 gsg-keypair
您只需将它们附加到authorized_keys文件:
$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys $ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys $ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys
答案 1 :(得分:3)
你需要生成你的SSH密钥(比如@ Ajedi32 exlains)或类似的解释在github页面上解释:https://help.github.com/articles/generating-ssh-keys
目前还在键入
git remote -v
您将看到您的存储库(可能是origin
)将从https://github.com/user/repo.git
开始。这意味着本地计算机上的git通过https
引用远程git repo 。当通过https
引用远程git repo 时,git将始终要求输入密码。
这就是为什么在按照上述方法之一设置SSH密钥之后,必须更改git从https
协议引用远程仓库的方式ssh
协议。
要做到这一点,首先要记下你当前的回购路径,例如。
https://github.com/username/reponame.git
然后你可以将它转换为ssh
样式地址:
ssh://git@github.com/username/reponame.git
(请注意,您只需要更改username
和reponame
部分。保留git@github.com
原样。它必须一如既往。
然后在本地计算机上,您可以键入以下代码: 如果你在linux上
git remote -v
git remote rm origin
git remote add origin ssh://git@github.com/username/reponame.git
git remote -v
最后一个命令将打印git引用远程存储库的路径,它将以ssh://...
开头。
请注意,在使用命令git remote -v
时,存储库路径将打印两次,一次用于fetch
,一次用push
注释。