Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: Vaultman 16. 03. 2011, 17:50:12

Název: GIT portforward
Přispěvatel: Vaultman 16. 03. 2011, 17:50:12
Ahoj,

řeším (pro mě) zapeklitý problém. Mám 2 servery na kterých běží CentOS. Adresy jsou example.com a git.example.com. Git checkout momentálně funguje přes git@git.example.com:repo. Chci k repozitářům ale přistupovat přes adresu git@example.com:repo. Abych to zkrátil, prostě potřebuju ke git serveru přistupovat skrze loadbalancer. Studoval jsem různé portforwardy, iptables, atp, ale bezvýsledně.
Neví někdo tedy jak dosáhnout toho, aby server example.com transparentně přesměroval git ssh příkaz (včetně klíče) na další server kde je samotný git?

Ještě dodám že různá ssh magie na koncových strojích nepřipadá úvahu, protože uživatel může přistupovat ke gitu z jakéhokoliv systému.

Děkuji za rady, nebo aspoň nakopnutí správným směrem
Název: Re: GIT portforward
Přispěvatel: Vaultman 16. 03. 2011, 17:52:50
ještě dodám že na správu gitu používám gitolite a jako loadbalancer haproxy (přes který se mi přesměrování taky nepodařilo)
Název: Re: GIT portforward
Přispěvatel: Nassir 16. 03. 2011, 20:57:41
Skus ssh gateway:
http://quark.humbug.org.au/publications/ssh/ssh-tricks.html (http://quark.humbug.org.au/publications/ssh/ssh-tricks.html)
Podla popisu zapises uzivatelovi git@example.com do suboru ~/.ssh/authorized_keys prikaz, ktory sa ma spustit pri kazdom prihlaseni sa danym ssh klucom. Prihlasenie do gitu sa tak bude dat len s platnym ssh klucom, ale to mas asi nastavene aj tak.
Neskusal som, ale verim, ze este si musis vymenit ssh kluce medzi uzivatelmi git@example.com a git@git.example.com, aby sa presmerovanie mohlo uskutocnit automaticky. Odporucam pouzit ssh-copy-id.
Ak by to neslo, tak si asi dobehal. V haproxy sa deju zmeny, ale urobit "virtualhostig" pre ssh - to tak skoro nebude.
Název: Re: GIT portforward
Přispěvatel: Mirek Prýmek 16. 03. 2011, 21:07:37
A neni daleko snadnejsi jedno z tech sshcek prehodit na jiny port?
Název: Re: GIT portforward
Přispěvatel: Vaultman 16. 03. 2011, 22:08:53
ssh gateway jsem zkoušel, ale ten funguje tak, že se nejdříve musím přihlásit na server a až tam, když provedu ssh příkaz mě to přesměruje na git server. Přesměrování přímo při přihlášení se mi rozjet nijak nepovedlo.

Přehazování portů ničemu nepomůže, nijak to nezabezpečí samotné přesměrování na git stroj. Alespoň si teda nedovedu představit jak by mohlo
Název: Re: GIT portforward
Přispěvatel: Nassir 16. 03. 2011, 23:44:56
Tak skus este raz, mne to presmerovane prihlasovanie funguje  - prave vyskusane.
V .ssh/authorized keys si pred svoj kluc, ktorym sa prihlasujes doplnis:
command="ssh -t git@git.example.com" ssh-dss AAAAB3Nza....tuPokracujeSSHKluc ja@vonkajsi.server.com
Samotnym prihlasenim sa ti vykona dany prikaz a dostanes sa na druhy stroj. Presmerovany gitosis by mal fungovat tiez, kedze ten rovnako vykonava svoj prikaz na pracu s gitom zo suboru authorized_keys.
Název: Re: GIT portforward
Přispěvatel: Vaultman 17. 03. 2011, 16:25:36
ok, samotné přesměrování funguje. Gitolite má teďkom problémy s ssh klíči a nefunguje, ale s tím už se nějak poperu, šlo mi hlavně o to přesměrování.
Díky za pomoc :)
Název: Re: GIT portforward
Přispěvatel: Mirek Prýmek 17. 03. 2011, 19:26:18
Přehazování portů ničemu nepomůže, nijak to nezabezpečí samotné přesměrování na git stroj. Alespoň si teda nedovedu představit jak by mohlo

Tak to jsem asi nepochopil problem... Psals:

Citace
Neví někdo tedy jak dosáhnout toho, aby server example.com transparentně přesměroval git ssh příkaz (včetně klíče) na další server kde je samotný git?

...tak jsem si myslel, ze by example.com proste port 22 presmeroval na git.example.com bez jakekoli znalosti, co po nem beha, a svoje ssh mel treba na 2222. To neni zadna veda a funguje to bezproblemove.