以下是我的〜/ .ssh / config内容
ForwardAgent yes
# Default PHP Fog user (name)
Host phpfog
HostName git01.phpfog.com
User git
IdentityFile /Users/Pk_2/.ssh/id_rsa_phpfog
# Default github
Host github.com
User git
Hostname github.com
PreferredAuthentications publickey
IdentityFile /Users/Pk_2/.ssh/id_rsa
但是当我尝试在phpfog repo文件夹上执行git push时它会给我
Permission denied(public key)
fatal:the remote end hung up unexpectedly
但是除非我将id_rsa_phpfog重命名为id_rsa,否则我无法推送到phpfog。我可以指定密钥文件
PHPFog config - http://docs.phpfog.com/getting-started/ssh/
答案 0 :(得分:1)
您的项目的.git / config可能需要进行编辑,以允许原点使用您在〜/ .ssh / config
中定义的主机修改您的< project folder >/.git/config
文件
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = <ssh-config-host>:<app_name_here>
如果您的应用名称是www.example.com,那么网址行将如下所示:
url = phpfog:www.example.com
或者您还可以使用您定义的主机重新克隆您的应用:
git clone phpfog:www.example.com
答案 1 :(得分:0)
在我的~/.ssh/config
文件中,每个“主机”定义中都有一行:
IdentitiesOnly yes
git为不同的主持人使用不同的密钥工作愉快。
答案 2 :(得分:0)
您可以使用:
ssh phpfog -vvv
获取ssh在尝试连接时正在执行的操作的调试输出。如果您使用的是其他密钥,则应该看到类似
的内容debug1: Reading configuration data /Users/<yourusername>/.ssh/config
debug1: Applying options for phpfog
debug1: Reading configuration data /etc/ssh_config
...
debug1: Offering RSA public key: /Users/<yourusername>/.ssh/id_rsa_phpfog
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
如果您没有看到提及id_rsa_phpfog
的任何内容,则表示您未使用您在.ssh/config
文件中定义的主机名,或者该文件不在正确的位置。
如果所有看起来都正确,那么你在phpfog上添加的公钥很可能是不正确的(与你自己的公钥不完全匹配)