Git hook и ssh Agent Forwarding - PullRequest
       14

Git hook и ssh Agent Forwarding

2 голосов
/ 14 октября 2011

У меня есть удаленный сервер разработки с git-репозиторием.

Когда я перемещаюсь со своего локального компьютера на этот сервер разработки, он запускает git hook after-receive, чтобы протолкнуть ветвь разработки на промежуточный сервер heroku.

Моя личность пересылается на сервер разработки, вот моя ~ / .ssh / config

Host *
  User myuser
  ConnectTimeout 15
  ServerAliveInterval 45
  ForwardAgent yes
  IdentityFile ~/.ssh/id_rsa

Как сделать так, чтобы он использовался крючком для развертывания на героку?

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

Большое спасибо за ваши идеи.

Ответы [ 2 ]

1 голос
/ 05 сентября 2012

Итак, я добавил это в профиль моего сеанса оболочки (например, profile или bashrc conf), и он выполняет свою работу.

if [ ! -d /tmp/501 ]; then
  mkdir /tmp/501
  ssh-agent -a /tmp/501/ssh-agent.socket
fi

SSH_AUTH_SOCK=/tmp/501/ssh-agent.socket
export SSH_AUTH_SOCK
ssh-add ~/.ssh/id_rsa

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 21 июля 2012

Поскольку вы подключаетесь к серверу разработки с вашим пользователем myuser , ловушка git также должна работать как myuser .

Если вы еще не создали пары ключей ssh ​​для подключения к вашему промежуточному серверу heroku с вашего сервера разработки для пользователя myuser , вам необходимо что.

<Login to your development server as myuser>
ssh-keygen -t rsa
<Upload the public key onto your heroku server's authorized_keys file>

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

И для подтверждения вы можете попробовать эту команду со своего сервера разработки, чтобы посмотреть, сможет ли он войти в промежуточный сервер:

ssh heroku-staging-server

Это должно быть все:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...