2016-12-23 8 views
1

私はsvn + ssh経由でアクセスしたいsvnリポジトリをセットアップしました。"svnserve -t"がauthorized_keysで指定されている場合、ssh経由でログインする方法は?

この目的のために、私はhttp://svnbook.red-bean.com/en/1.7/svn-book.pdfで与えられた指示に従った。つまり、〜/ .ssh/authorized_keysファイルを編集して、次の行を追加しました。

command = "svnserve -t -r/home/USER/svn --config-file =/home/USER/svn/conf/svnserve.conf --tunnel-user = SVN-USER "ssh-rsa公開鍵ユーザ名コメント

私はsvn-sshを使ってチェックアウトやコミットなどを成功させています。前述のPDFワークでしかし、私はその行を追加して以来、私は通常のSSH経由でサーバにログインすることはできません。ログイン時に、コンソールには次の情報が表示されます。

(成功(2 2)(編集パイプラインsvndiff1不在エントリコミットrevprops深度ログrevprops原子revprops部分再生継承されたprops ephemeral-txnprops file-revs-逆)))

コンソールに何かを入力するたびに切断されます。

ログイン時にsvnserveコマンドが実行されるためです。しかし、指示によれば、まだssh経由でアクセスできるはずです。それで私はなぜ?私が何をする必要があるかについてのヒントsvn + sshを使って自分のリポジトリにアクセスする能力を失うことなくssh経由で自分のサーバにアクセスできますか?

答えて

1

「コマンド」が自分の鍵の横にあるauthorized_keysに存在するまでログインすることはできません。 PDFには、ログイン試行時にコマンドが実行されることが記載されています。

使用できるトリックが1つあります。 2組の鍵があります。一方はログインに使用し、もう一方はSVNを使用します。これは、関連するキーが実際にログインに使用された場合にのみコマンドが実行されるために機能します。

あなたがログインしたホストではおそらく2つのファイルがあります:.ssh/id_rsaと.ssh/id_rsa.pub。新しいペア "ssh-keygen -f〜/ .ssh/id_login"を作成する必要があります。 〜/ .ssh/id_login.pubの内容を宛先ホストのauthorized_keysにコピーすると、そのホストにログインすると "ssh -i〜/ .ssh/id_login HOST"が使用されます。

基本的に、 authorized_keysに2行:

command="svnserve -t ..." TYPE1 KEY1 [email protected] 
TYPE2 KEY2 [email protected] 

自動的にあなたのワークステーション上の.ssh/configに次の行を追加することがアイデンティティーを使用するには:

Host destHost 
    Hostname destination_host_name 
    IdentityFile ~/.ssh/id_rsa 

Host destHostlogin 
    Hostname destination_host_name 
    IdentityFile ~/.ssh/id_login 

あなたがしたい任意のホストのラベルを定義することができ接続するのに「sshラベル」を使用するほうが簡単です。

関連する問題