Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: 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
-
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)
-
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.
-
A neni daleko snadnejsi jedno z tech sshcek prehodit na jiny port?
-
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
-
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.
-
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 :)
-
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:
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.