Svn Ssh

Per accedere in svn usando il tunnel ssh con una macchina server linux con un client linux non ho avuto nessun problema.
In windows invece ci sono dei problemucci da risolvere. Il client preso in considerazione è quello più famoso per svn su windows Tortoise, la guida di riferimento è questa.

Primo accorgimento verificare che l'utente che si collega in ssh abbia i permessi per accedere alla cartella questo vale sia per linux che per win ovviamente.

Questa soluzione crea un tunnel di svn su ssh dato che ssh di solito è aperto sul firewall e possiamo anche sfruttare il suo canale cifrato.

Su linux basta lanciare il comando

svn co svn+ssh://hostname/var/svn/repos/project

Per cambiare l'utente dato che abbiamo gli utenti in ssh si deve usare la sintassi

svn import dir-toimpoty/ svn+ssh://username@hostname/opt/svn-rep/app-name

Per fare il list della directory svn

svn ls svn+ssh://username@hostname/home/svn/progetto

e lui va che una meraviglia su windows usando tortoise bisogna che facciamo qualche modifica.

Prima di tutto andiamo sulla macchina server creiamo gli utenti che devono poter accedere.

ssh-keygen -b 1024 -t dsa -N passphrase -f mykey

cambiare "passphrase" con un'altra parola oppure lasciare vuoto. Se si mette la parola la si dovrà inserire ogni volta che si vuole usare il certificato.
Dopo il comando vengono generate due chiavi quella pubblica mykey.pub e quella privata mykey.
Andare nella directory dell'utente creare la dir .ssh e copiarvi dentro la chiave pubblica rinominandola come authorized_keys, oppure se il file è già presente perché vi sono altre chiavi
cat mykey.pub >> /home/myuser/.ssh/authorized_keys

Se si sbaglia il nome non funzionerà.

Installare Putty e aprire il tool putty gen aprire il menu "conversions" e scegliere "Import Key" selezionare la chiave privata mykey in modo da convertirla in un formato adatto a putty. Dopo scegliere "Save private key" salvarla usando il suo formato predefinito ppk.

Aprire putty e settare le seguenti informazioni

Session->HostName: Hostname or IP Adress of your server
Session->Protocol: SSH
Session->Saved Sessions: nomeConnnessione
SSH->Prefered SSH Protocol version: 2
SSH->Auth->Private Key file for auth: $PATH$\mykey.PKK (replace $PATH$ with real path to the mykey.PKK file)

Il nome della connessione va salvato e scelto senza spazi perchè va usato dopo.
Per verificare che tutto funzioni fare il login se non chiede la password (quindi usa ssh con il certificato) e si logg vuol dire che va tutto a posto e si può passare avanti.

Dentro Tortoise adesso si può usare la seguente url

svn+ssh://nomeutente@nomeConnessione/usr/local/repos

Tutto dovrebbe funzionare.

Tortoise con client ssh integrato usando username e password

Dentro settings, network , ssh client mettere una url di questo tipo

C:\Programmi\TortoiseSVN\bin\TortoisePlink.exe -l username -pw segretapassword

Per fare il checkout usarle questa url, che però non funziona da dentro repo browser
svn+ssh://hostanme/home/svn/progetto
Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-ShareAlike 3.0 License