У меня есть настройка туннеля SSH на моем macbook, вроде этого...
$ ssh -o ServerAliveInterval=3 -N -L 22222:gitosis-server:22 [email protected]
Итак, я могу ssh на localhost: 22222 и попаду на gitosis-сервер за брандмауэром.
Я создал локальный файл id_rsa.pub, скопировал его на сервер gitosis (работает Centos5) и импортировал его в gitosis, используя...
# sudo -H -u gitosis gitosis-init
Это было успешно, так как я вижу открытый ключ в /var/lib/gitosis/.ssh/authorized_keys.
Назад на моем macbook Я setup файл ~/.ssh/config со следующим...
Host gitosis-server Hostname localhost HostKeyAlias gitosis-server.domain.com Port 22222
Итак... Я думаю, что эта команда должна работать...
$ git clone [email protected]:gitosis-admin.git
В то же время он не запрашивает пароль... когда открытые ключи должны работать.
Initialized empty Git repository in /Users/USER/Development/gitrepo/gitosis-admin/.git/ [email protected] password:
Любые идеи о том, как заставить git работать с сервером gitosis за брандмауэром?
Спасибо,
Matt
EDIT - добавление отладки из попытки SSH
Я сделал эту команду: 'ssh -vvv gitosis @gitosis-server'. Я получаю отладку назад, и мне это не похоже на мою идентификацию.
debug2: key: /Users/USER/.ssh/id_rsa.gitosis (0x1019b0) debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug3: start over, passed a different list publickey,gssapi-with-mic,password debug3: preferred publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Offering public key: /Users/USER/.ssh/id_rsa.gitosis debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,gssapi-with-mic,password debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: ,password debug3: authmethod_is_enabled password debug1: Next authentication method: password [email protected] password:
РЕДАКТИРОВАТЬ 2
ОК... Определенно плохой ключ. Я дважды проверил все свои ключи и, конечно же, обнаружил, что gitosis-сервер держит плохой ключ в файле authorized_keys.
debug1: userauth-запрос для пользователя gitosis service ssh-connection method none debug1: попытка 0 сбоев 0 debug1: PAM: инициализация для "gitosis" debug1: PAM: настройка PAM_RHOST на "firewall.domain.com" debug1: PAM: установка PAM_TTY на "ssh" debug1: userauth-запрос для пользователя gitosis service ssh-connection method publickey debug1: попытка 1 сбой 1 debug1: проверить, приемлемы ли pkalg/pkblob debug1: temporarily_use_uid: 102/103 (e = 0/0) debug1: поиск файла открытого ключа /var/lib/gitosis/.ssh/authorized_keys debug1: restore_uid: 0/0 debug1: temporarily_use_uid: 102/103 (e = 0/0) debug1: поиск файла открытого ключа /var/lib/gitosis/.ssh/authorized_keys2 debug1: restore_uid: 0/0 Не удалось опубликовать публикацию для gitosis от FIRE.WALL.IP.ADDRESS порт 52453 ssh2
Я более подробно рассмотрел файл authorized_keys на сервере gitosis... и это было неправильно. Я дважды проверил файл открытого ключа, который я скопировал в /tmp с моей рабочей станции, и он был правильным, но отличается от того, что было в authorized_keys. Я удалил файл authorized_keys на сервере и повторно запустил 'sudo -H -u gitosis gitosis-init </tmp/id_rsa.gitosis.pub. Еще раз проверьте файл authorized_keys..... и все еще было не так.
Я обновил его вручную, отредактировав authorized_keys и добавив правильный ключ, а затем я получил его для работы с моей рабочей станции через туннель для одной или двух попыток. Затем он переставал работать, как раньше. Я вернулся в файл authorized_keys на сервере gitosis и, конечно же,... gitosis вернул его обратно к старому ключу, который не работает.
Почему это делает это... вернувшись к плохому открытому ключу... даже после того, как я попытался добавить его с помощью указанной выше команды..., которая не изменила ее... затем изменила ее вручную.... который работал, но git затем снова вернулся к плохому.
Мне нравится, что gitosis запоминает первый ключ, который я там вложил.... и не позволяю мне изменить его на исправленный.
Срыв...
Matt