Hlavní menu

Nástroje

SupportKiv / JakNaSvnPlusSsh

View (print) - Edit page | Recent changes - Page history

Updated 27 February 2014, 11:45 by PremekBrada

Jak nakonfigurovat přístup do Subversion úložiště přes svn+ssh protokol (např. svn+ssh://username@students.kiv.zcu.cz/home/users/staff/brada/svnroot/test/):

Rozchození ssh přístupu

Pro základní funkčnost svn+ssh není třeba dělat vůbec nic, krom toho že na lokále je třeba mít nainstalované ssh -- svn klient se zeptá na jméno a heslo vždy když ho potřebuje, připadně si tyto credentials nacachuje (je-li dost "chytrý").

Pokud se nechceme otravovat se zadáváním hesla, musíme:

  1. [WINDOWS] nainstalovat Cygwin - potřeba pro náš účel je hlavně ssh (na Linuxu je ssh je standardně k dispozici, případně doinstalovat balíček openssh-client)
    • bude nainstalováno pod (cygwin root path) např. C:\cygwin\
  2. vygenerovat private-public key pair
    • ssh-keygen -t dsa -- normálně se doporučuje zaheslovat klíč (zadat passphrase) ale to je nevhodné pro Subversion přístup (svn se pořád ptá, protože pořád pouští ssh pod sebou) tj. passphrase nezadávejte; default adresář pro umístění klíčů (private directory) je $HOME/.ssh (pro Cygwin tedy (cygwin root path)/home/<username>/.ssh/)
    • mělo by vzniknout něco jako (private directory)/id_dsa, což je ten privátní klíč, a .../id_dsa.pub což je veřejný klíč
    • [LINUX] Alternativní návod v angličtině
    • [WINDOWS] Generování klíče jde dělat i přímo v putty, pouze je třeba dát pozor že jeho klíč není kompatibilní s openssh tj. například s linuxovým ssh klientem -- postup viz návod pro putty.
  3. veřejný klíč nahrát (pomocí scp) na stroj, kde je úložiště (stroj.domena.tld), do svého $HOME/.ssh adresáře
    • (Pro studenty KIV ZČU: na serveru students.kiv.zcu.cz jde o adresář /afs/kiv.zcu.cz/kiv/home/students/<username>/.ssh.)
    • privátní klíč se nikomu nedává! pokud ho někdo získá, může se za vás vydávat a přihlašovat
  4. na stroj se přihlásit (přes ssh, ve Windows např. putty) a veřejný klíč přidat přes příkazovou řádku cd ~/.ssh; cat id_dsa.pub >> authorized_keys mezi známé klíče
    • POZOR, na ZČU je třeba (a) dát ">>" nikoli ">", (b) needitovat authorized_keys přes WinSCP nebo podobný "vzdálený" editor -- v obou případech chyba = přepsání souboru = nefunkčnost
  5. vyzkoušet: spustit na svém stroji cmdline, v ní ssh username@stroj.domena.tld -- nemělo by se ptát na nic víc než passphrase pro klíč, pokud byla nastavena; jako username se na ZČU předpokládá Orion login

(Pro studenty KIV: pokud výše uvedený postup nefunguje, a nepomáhá ani konzultace se spolužákem, popište problém administrátorům na <support@mail.kiv.zcu.cz> aby jej mohli pomoci řešit.)

Konfigurace subversion klienta

Command line interface (CLI)

  • Do konfigurace svn command line klienta přidat ssh = "/bin/ssh.exe" -i "(path to your private key)"
    • parametr -i používá k autentikaci klíč místo hesla
    • [WINDOWS] cesta k ssh je "(cygwin root path)\bin\ssh.exe"

GUI Tortoise

  • spustit Settings > Network, v oddílu SSH zadat (cygwin root path)\bin\run.exe (cygwin root path)\bin\ssh.exe -i (private directory)\id_dsa
    • (vysvětlivky: run.exe spouští bez konzolového okna)
    • pokud je třeba ladit problémy, odstranit (cygwin root path)\bin\run.exe -> TortoiseSVN? ukazuje volání ssh pod sebou

GUI Eclipse - Subclipse

Je potřeba mít nainstalovaný SVNKit? Adapter v rámci Subclise (s JavaHL? rozhraním to nejde připojit) -- je třeba zaškrtnout při instalaci Subclipse

  1. Preferences > Network connections > SSH2? tab General, nastavit SSH2? home na cestu k ssh (resp. příslušné binárce, pro Putty je to plink.exe který se používá pro ssh tunel bez okna terminálu)
  2. Preferences > Team > SVN > SVN interface nastavit na SVNKit?
  3. otevřít perspektivu Repository browsing, přidat repository, zkusit do ní rozklikout -> dialog připojení, nastavit Use private key auth, naklikat/napsat cestu k private key a Save information

GUI Eclipse - Subversive

TBD