2012-05-24 3 views
1

Ниже мои ~/.ssh/конфигурации содержаниеКак указать, какой файл ключа использовать для Git Push на PHP Fog?

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 

Но когда я пытаюсь сделать Git толчок на папку с phpfog репо он дает мне

Permission denied(public key) 
fatal:the remote end hung up unexpectedly 

Но если я не переименовывать id_rsa_phpfog в id_rsa я не могу нажать на phpfog. Таким образом, я могу указать файл ключа

PHPFog конфигурация - http://docs.phpfog.com/getting-started/ssh/

ответ

0

В моем ~/.ssh/config файле, есть дополнительная строка в каждом определении «Host»:

IdentitiesOnly yes 

И мерзавец работает счастливо с другим ключом для разных хостов.

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 или файл ISN в нужном месте.

Если все, что выглядит правильно, это, скорее всего, открытый ключ, которые вы добавили phpfog не правильно (не точно соответствует своему собственному открытому ключу)

1

вашего проект .git/конфигурации, возможно, потребуется отредактированный, чтобы начало использовать хозяин, которую вы определили в ~/.ssh/конфигурациях

Редактировать ваш < project folder >/.git/config файл

[remote "origin"] 
    fetch = +refs/heads/*:refs/remotes/origin/* 
    url = <ssh-config-host>:<app_name_here> 

Если ваше имя приложения является www.example.com того URL строка будет выглядеть как:

url = phpfog:www.example.com 

В качестве альтернативы можно также повторно клонировать ваше приложение с помощью хоста вы определили:

git clone phpfog:www.example.com