Password prompt: SSH+SVN & TortoiseSVN
Možná jste narazili na problém, kdy používáte SVN spolu s SSH, že musíte neustále dokola zadávat své přístupové údaje.
Aby jste tento problém vyřešili, budete potřebovat následující:
- PuTty
- PuttyGen
- WinSCP (nebo jinou možnost pro překopírování souborů pomocí SSH ze serveru)
Vygenerování autorizačního klíče
Jako první je nutné vygenerovat klíč na serveru. Pomocí Putty se připojte a spusťte příkaz:
1 |
ssh-keygen -t rsa -b 1024 -f filekey.key |
Kde filename.key je jmeno souboru, do kterého bude klíč vygenerován (polu s tímto souborem se vygeneruje ještě jeden soubor – filekey.key.pub, který nás bude zachvíli zajímat).
Při generování se vás zeptá průvodce na zadání passphrase, ten nechtejte prázdný.
Pro správnou autentizaci je nutné nyní vytvořit adresář .ssh ve vašem home adresáři, pokud ještě neexistuje:
1 |
mkdir .ssh |
a do něj nakopírovat autentizační klíč:
1 |
cp filekey.key.pub .ssh/authorized_keys |
Zkopírování privátního klíče
V dalším kroku je nutné zkopírovat ze serveru privátní vygenerovaný klíč, abychom s nim mohli dále pracovat. Tento klíč si zkopírujte libovolně do svého systému, například pomocí zmíněného programu WinSCP.
Uložení privátního klíče
Nyní přijde na řadu program PuttyGen, pomocí nejž si nejprve načtete stažený privátní klíč (soubor filekey.key) v kontextovém menu Conversions – Import key a poté zvolíte možnost Save private key. Uloží se vám soubor s příponou ppk (Putty private key)
Vytvoření relace v Putty
V posledním kroku je nutné celou relaci přihlášení uložit v Putty, abychom ji mohli v TortoiseSVN využívat.
Nastartujeme novou instanci putty, vyplníme si Host name (or Ip adress), Port a přejdeme do v levém menu do SSH – Auth.
Zde si vybereme v poli Private key file for authentication váš vygenerovaný soubor ppk. Celou relaci uložíme (je nutné přejít do záložky Session, a zde zvolit možnost Save).
Můžete si vyzkoušet se přes tuto relaci pomocí putty přpojit. Systém po vás nesmí chtít heslo.
Nastavení TortoiseSVN
V TortoiseSVN je nutné nyní vytvořit repozitář, který bude vámi vytvořenou relaci používat. Ve stávajícím repozitáři můžete zvolit možnost “Relocate” v kontextové nabídce.
Adresa repozitáře bude vypadat následně:
1 |
svn+ssh://username@session/www/svn/rep |
kde username je vaše uživatelské jméno, pod který se na server přihlašujete a session je název, pod kterým je uložena relace v putty.
Závěrem
Pokud jste dodrželi všechny kroky, měl by vám tento postup fungovat a TortoiseSVN by po vás neměl chtít znova přihlašovací údaje.