Leopard Serverへアクセス用のdemonを
/Library/LaunchDaemons/org.tigris.svn.plist
plistを下記の内容で
--
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<false/>
<key>Label</key>
<string>org.tigris.svn</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/svnserve</string>
<string>-i</string>
<string>-r</string>
<string>/usr/local/repo</string>
</array>
<key>inetdCompatibility</key>
<dict>
<key>Wait</key>
<false/>
</dict>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>svn</string>
</dict>
</dict>
<key>OnDemand</key>
<true/>
</dict>
</plist>
--
ファイルオーナーとグループは下記で設定
sudo chown root:wheel /Library/LaunchDaemons/org.tigris.svn.plist
作ったファイルが
$ ls -al@ [enter]
-rw-r--r--@ 1 swadmin staff 674 1 11 06:36 org.tigris.svn.plist
com.apple.TextEncoding 15
上記のようになっていしまったら
$xattr -d com.apple.TextEncoding org.tigris.svn.plist [enter]
その後に、launchdに読み込ませます。
$ sudo launchctl load /Library/LaunchDaemons/org.tigris.svn.plist [enter]
$sudo launchctl start org.tigris.svn [enter]
--
あとはクライアント
ssh経由なので
クライアントでパスワードなしでログインできるようにする
DSAによる認証方法でやると
クライアントから
$ cd ~ [enter]
$ mkdir .ssh [enter] ssh用のフォルダを作って
$ chmod 700 .ssh [enter] 自分だけアクセスできるようにする
$ ssh-keygen -t dsa [enter] キーを生成する
Generating public/private dsa key pair.
Enter file in which to save the key (/Users/masato/.ssh/id_dsa): [enter]
Enter passphrase (empty for no passphrase): [enter]
Enter same passphrase again: [enter]
Your identification has been saved in /Users/masato/.ssh/id_dsa.
Your public key has been saved in /Users/masato/.ssh/id_dsa.pub.
The key fingerprint is:
64:a9:98:fe:4f:ec:a4:26:17:31:f8:f0:50:b4:77:d3 masato@leopardserver.swrks.jp
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 [user]@[hostname]
パスワードには,何も入れないでenterする
~/.sshに以下のファイルができる
-rw------- 1 masato staff 668 Jan 11 13:24 id_dsa
-rw-r--r-- 1 masato staff 619 Jan 11 13:24 id_dsa.pub
id_dsa.pubをサーバー側に持っていく
$ scp ~/.ssh/id_dsa.pub [user]@[hostname]:~/ssh-id_dsa.pub
サーバーに.sshに下記のファイルを作る
authorized_key2
サーバーから
$ touch ./.ssh/authorized_keys2 (SSH2公開鍵登録用のファイルを生成)
このファイルも自分しかアクセスできないように
$ chmod 600 authorized_key2[enter] 自分だけアクセスできるようにする
公開鍵を登録
$ cat ~/ssh-id_dsa.pub >> authorized_keys2
いらなくなった鍵を削除
$ rm ~/ssh-id_dsa.pub
これでクライアントから
svn co svn+ssh://[user]@[hostname]/[レポジトリパス]
でパスワードなしで取得できるようになる
0 件のコメント:
コメントを投稿