ubuntu下架設svn伺服器及在windows建立svn+ssh用戶端:
1、安裝ssh
sudo apt-get install ssh
2、安裝subversion
sudo apt-get install subversion
3、為參與項目開發的成員建立使用者帳戶
sudo adduser user1
4、建立名為svn的使用者組
sudo addgroup svn
sudo addgroup user1 svn /*把user1加入組svn*/
註:這裡可以根據不同的許可權建立多個使用者組,把有相應許可權的使用者放入相應的組中
5、建立專案檔儲存目錄
sudo mkdir /usr/local/svn
sudo mkdir /usr/local/svn/trunk
6、建立SVN檔案倉庫
sudo svnadmin create /usr/local/svn/trunk
7、為群組成員賦予相應的許可權
sudo chown -R root:svn /usr/local/svn/trunk
sudo chmod -R g+rws /usr/local/svn/trunk /*給svn組賦予讀寫權限,可以根據需要更改相應許可權*/
sudo chmod -R o-rwx /usr/local/svn/trunk
/*刪除其他無關人員的讀、寫、執行許可權,預設情況下可能其他人有讀許可權*/
註:有關許可權修改的問題可以查看相關linux命令
8、為每個成員產生金鑰組(以使用者user1為例)
切換為xiao使用者登入:su user1 (提示輸入user1的密碼)
輸入:cd ~/
輸入:whoami,如果登入成功則顯示xiao
執行:ssh-keygen -b 1024 -t dsa -N passphrase -f user1key
註:其中passphrase為密鑰關鍵字,根據你的需要修改,xiaokey為檔案名稱;這裡使用的是DSA加密,可以改用RSA加密,把其中的
“dsa”改為“rsa”就可以了。
這時產生兩個檔案:xiaokey和xiaokey.pub,前一個為秘密密鑰後一個為公開密鑰
然後,建立目錄/home/xiao/.ssh,把公開金鑰拷貝到/home/user1/.ssh目錄下:cp user1key.pub
/home/user1/.ssh/authorized_keys
註:檔案名稱必須為authorized_keys
退出:exit
9、在windows下安裝svn用戶端,則需安裝“TortoiseSVN”、“Puttygen”和“Pageant”
9.1、下載:
http://sourceforge.net/projects/tortoisesvn
http://www.chiark.greenend.org.uk/~sgtatham/putty/
9.2、安裝:略
9.3、轉換私密金鑰格式:
9.3.1、運行Puttygen;
9.3.2、選擇菜單conversions->gennery,
9.3.3、選擇檔案user1key,提示“Enter passphrase for
key",輸入建立公私密金鑰對示使用的passphrase關鍵字,
9.3.4、然後選擇Parameters為“SSH-2 DSA”(如果公私密金鑰是使用RSA產生,則選擇“SSH-2 RSA”),
9.3.5、點擊按鈕Save private key,
9.3.6、儲存檔案名稱為user1key.ppk。
9.4、建立TortoiseSVN與Pageant的關聯,並將私密金鑰加入Pageant:
9.4.1、滑鼠右鍵選擇TortoiseSVN->Settings->Network->SSH client,輸入:
C:/Program Files/TortoiseSVN/bin/TortoisePlink.exe;
9.4.2、滑鼠右鍵選擇TortoiseSVN->RepoBrowser 輸入URL:
svn+ssh://user1@SvnServiceIP/usr/local/svn/trunk;
9.4.3、運行Pageant,右鍵點擊螢幕右下角的表徵圖-〉Add Key,將私密金鑰檔案user1key.ppk加入。
這種配置我覺得在伺服器之間操作比較安全,但是對於開發人員(在window下開發著)使用起來就不是和方便了,我們可一使用ssh的另一個用戶端ssh
sesure shell 比較好 ,可以好好的管理。