среда, 7 декабря 2011 г.

git+ssh через https прокси

В продолжение предидущей темы о работе git из-за прокси.

Собственно, предидущая тема рассчитана на взятие и обновления исходного кода из репозитория (git clone/pull). Отдачу дельты она не подразумевает (git push).
Однако в жизни разработчика наступает момент, когда необходимо что-либо поместить на сервер.

В моем случае это была конфигурация редактора emacs на github. При изпользозании одного редактора и на работе и дома хочеться иметь общую конфигурацию. Конфигурацию, обычно меняешь по ходу работы и нужно удачный вариант сохранить для дальнейшего использования.


И тут на помощь нам приходит corkscrew. На Fedora она есть в репозиториях.

  1. Устанавливаем corkscrew (yum install corkscrew)
  2. Добавляем в $HOME/.ssh/config следующие строчки
Host github.com
    User git
    HostName ssh.github.com
    Port 443
    ProxyCommand corkscrew 127.0.0.1 9090 %h %p


У меня используется cntlm прокси, поэтому адрес 127.0.0.1 и порт 9090. Если у кого не так, нужно заменить эти значения на те, которые используются в вашей сети.

Теперь git push должен работать из-за прокси.
Если нужен другой сервер с ssh (не github.com), его также нужно добавить в $HOME/.ssh/config


.