2008/08/20: SVN+SSHで違うユーザ名で運用する方法
著者: dele
SVN+SSHでsvnのユーザ名がsshのユーザ名になってしまうので困った。--usernameも効かないし。
authorized_keysを使うことで、いろんな人が同じsshアカウントでコミットできるようになるようだ。
ここでは
リポジトリのあるSSHホストのユーザ名: sshuser
リポジトリのあるSSHホストのホスト名: sshhost
svnのユーザ名: svnuser
クライアントマシンのキーの保存先: /home/localuser/.ssh
とする。
専用のキーを作る
■クライアントで作業
■リポジトリのあるサーバで作業
■クライアントで作業
こんな感じ
authorized_keysを使うことで、いろんな人が同じsshアカウントでコミットできるようになるようだ。
ここでは
リポジトリのあるSSHホストのユーザ名: sshuser
リポジトリのあるSSHホストのホスト名: sshhost
svnのユーザ名: svnuser
クライアントマシンのキーの保存先: /home/localuser/.ssh
とする。
専用のキーを作る
■クライアントで作業
ssh-keygen -t dsa -b 1024 -f /home/localuser/.ssh/svn_id_dsa
cat ~/.ssh/svn_id_dsa.pub
ssh-dss ....
■リポジトリのあるサーバで作業
vi ~/.ssh/authorized_keys
command="svnserve -t --tunnel-user=svnuser",no-port-forwarding,
no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss ......
※実際は1行、no-ptyの後にあるスペースから先をsvn_id_dsa.pubの内容にする
■クライアントで作業
export SVN_SSH="ssh -l sshuser -i /home/localuser/.ssh/svn_id_dsa"
svn co svn+ssh://sshhost/レポジトリへのパス .
こんな感じ

