質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Subversion

Subversionは、使い方はCVSによく似た、CVS(Concurrent Versions System)を改良したバージョン管理ツールです。

SVN

SVNは、CollabNet社が開発したソースコードなどを管理する集中型のバージョン管理システムです。 Subversionとも呼ばれ、CVSの問題点を解決すべく開発された次世代のバージョン管理システムとして開発されました。基本的なコマンドはCVSと共通しています。複数人の開発者が共同でひとつのソフトウェアの開発にあたるときなどに、ドキュメント及びソースコードなどを管理するのに使用されます。

Q&A

解決済

1回答

69225閲覧

SVNでリポジトリにアクセスできない

rmrmnrm

総合スコア139

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Subversion

Subversionは、使い方はCVSによく似た、CVS(Concurrent Versions System)を改良したバージョン管理ツールです。

SVN

SVNは、CollabNet社が開発したソースコードなどを管理する集中型のバージョン管理システムです。 Subversionとも呼ばれ、CVSの問題点を解決すべく開発された次世代のバージョン管理システムとして開発されました。基本的なコマンドはCVSと共通しています。複数人の開発者が共同でひとつのソフトウェアの開発にあたるときなどに、ドキュメント及びソースコードなどを管理するのに使用されます。

0グッド

1クリップ

投稿2018/04/13 03:44

編集2018/04/13 08:13

サーバーをメンテし再起動等やっていたら同サーバーに乗っているSVNにエラーが発生。
このサーバーで管理していたSVNが全滅しました。
コミット、アップデートができません。
また、svn://~にもアクセスできない状態です。

SVNエラーメッセージ

SSH

1# svn list svn://xxx 2svn: E210005: Unable to connect to a repository at URL 'svn://xxx' 3svn: E210005: No repository found in 'svn://xxx'

試したこと

svnserveは起動しています。
Windowsファイアウォールを無効にしましたが変化はありませんでした。
SVNで管理しているファイルは問題なく表示できているため、リポジトリのアクセスだけができない状態です。

SSH接続等はできますので、コマンド等確認方法を教えていただけますと幸いです。
よろしくお願いします。

また、エラー内容は異なりますが以下のURLを参考に、
http://kazumeat.hatenablog.com/entry/20120130/1327887955

SSH

1svnadmin recover /var/svn/repos/xxx 2chown -R apache:apache /var/svn/repos/xxx

としましたが改善しませんでした。

追記1

SSH

1# svn list file:///var/svn/repos/xxx

で直下のファイルを確認することはできました。

###追記2

SSH

1# svn list svn://xxx/var/svn/repos

1.127.0.0.1 (=localhost)の場合

SSH

1svn: E210005: Unable to connect to a repository at URL 'svn://127.0.0.1/var/svn/repos/xxx' 2svn: E210005: No repository found in 'svn://127.0.0.1/var/svn/repos/xxx'

2.サーバーの実IPアドレスの場合

SSH

1# svn list svn://IPアドレス/var/svn/repos/xxx 2svn: E210005: Unable to connect to a repository at URL 'svn://IPアドレス/var/svn/repos/xxx' 3svn: E210005: No repository found in 'svn://IPアドレス/var/svn/repos/xxx'

3.サーバーのノード名の場合

SSH

1# svn list svn://サーバ名/var/svn/repos/xxx 2svn: E210005: Unable to connect to a repository at URL 'svn://サーバ名/var/svn/repos/xxx' 3svn: E210005: No repository found in 'svn://サーバ名/var/svn/repos/xxx'

追記3

svn+ssh://で接続してみましたが以下の様になりました。
yesで進んだところ、毎回パスワードが求められた後に内容が確認できるようになりました。

SSH

1# svn list svn+ssh://IPアドレス/var/svn/repos/xxx 2The authenticity of host 'IPアドレス' can't be established. 3ECDSA key fingerprint is 03:2b:2d:b5:ac:d9:71:64:f8:9b:4c:c0:1e:0f:f5:71. 4Are you sure you want to continue connecting (yes/no)?

しかし実際使用していたURL(svn://IPアドレス/xxx)では追記2と同様のエラーでした。

###追記4
svn+ssh://IPアドレス/xxxをブラウザからアクセスした結果、複数回ログインを求められた後以下のエラーが表示されました。
Unable to connect to a repository at URL 'svn+ssh://IPアドレス/xxx'
No repository found in 'svn+ssh://IPアドレス/xxx'

svn+ssh://IPアドレス/var/svn/repos/xxxでアクセスした結果、3回ログインを求められた後リポジトリブラウザのURL欄にURLが挿入され、その後3回?程度ログインを求められた後ファイルが表示されましたため、アクセスが可能のようです。
しかし階層を移動するとまた複数回ログインを求められ、拒否したら以下のエラーが表示されました。
Unable to connect to a repository at URL 'svn+ssh://~'
To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnnels]section of your Subversion configration file.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

リポジトリにアクセスできないのであれば、焦ってしまうのも無理からぬ事ですが、問題をきちんと切り分けないうちにいろいろと変更を加えてしまうと取り返しが付かなくなってしまうので、まずは落ち着いてください!

SSH接続可能なのであれば、まずはサーバーへSSHでログインして頂いて、下記コマンドを実行してみてください。

bash

1svn list file:///var/svn/repos

これでリポジトリルート直下の資産一覧が取得できれば、少なくともSubversionのリポジトリ自体は生きています。

結果によって対応法方が違ってきますので、まずはご確認ください。

《追記①》
svnserve自体は起動しているとの事でしたが、SSHでサーバーへログインした状態で下記コマンドを実行するとどうですか?

bash

1svn list svn://xxx/var/svn/repos

ただしxxxはサーバーのノード名もしくはIPアドレスを意味しています。
0. 127.0.0.1 (=localhost)の場合
0. サーバーの実IPアドレスの場合
0. サーバーのノード名の場合
で違いがありますか?

《追記②》
サーバーにSSHがインストールされているところをみると、元々「SSH経由」でアクセスされていたのではありませんか??
つまり svn://~ ではなくて svn+ssh://~ だとつながりませんか?

《追記③》
追記3の内容からするとSubversionには問題ないようですね。
毎回パスワードを聞かれるのはSSHエージェントを起動していないからであって正常な結果です。

ところで、実際に使用していたURL(svn://~)ではつながらないというのは、(以前はどうだったか分かりませんが)現在はSSH経由でないとつながらないからです。

svn+ssh://IPアドレス/~ ではつながるのですよね?
サーバー外、例えばPCからもつながりますか?

《結論》
これまでのやりとりから(一部推測も混ざりますが)、おそらくこういうことだと思います。
従来はSSH接続によらず svn://〜 でアクセスしていたが、サーバーのメンテナンス/再起動によってSSH接続する設定になってしまったために、従来のURLではアクセスできなくなってしまった。

しかし、今時、暗号化セずにサーバーへアクセスするのはよろしくないので、SSH接続方式(svn+ssh://〜)でアクセスするのが良いです。

階層を移動する度にパスワード入力を求められるのは、パスワード認証方式になっているからです。
「SSH鍵認証」方式に変更し、SSHエージェントを常駐させてパスフレーズの入力を毎回求められないようにすることを強くおすすめいたします。

ちなみに、ご使用のPCのOSはWindowsでしょうか?
そうであれば、Putty というSSHクライアントソフトをインストールし、Pageant というエージェントソフトを利用されると良いと思います。

この場で詳細をすべてご説明するのは困難なので、参考情報をご連携して終わります。
公開鍵認証によるSSH接続 - PuTTYの使い方

以上、ご参考になれば幸いです。

投稿2018/04/13 05:28

編集2018/04/13 10:10
pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rmrmnrm

2018/04/13 05:36

回答ありがとうございます! そうですよね、下手にいじってはいけないですよね… # svn list file:///var/svn/repos/xxx で直下のファイルを確認することができました。
pi-chan

2018/04/13 05:51

file://~ というのはsvnserveも何も介さずにローカルのリポジトリへ直接アクセスするためのプロトコルです。 想定通りにアクセスできたなら、SVN自体の問題では無いですね。 続きは解答欄に追記します。
rmrmnrm

2018/04/13 06:24

追記ありがとうございます。コマンド実行した結果を本文に追記しました。 どれも内容に変わりはありませんでした。 ご確認お願いします。
rmrmnrm

2018/04/13 06:42

追記②ありがとうございます。 本文に実行結果を追記しました。 少なくとも昨日まではsvn://~で運用していました。
pi-chan

2018/04/13 07:24 編集

---------- The authenticity of host 'IPアドレス' can't be established. ECDSA key fingerprint is 03:2b:2d:b5:ac:d9:71:64:f8:9b:4c:c0:1e:0f:f5:71. Are you sure you want to continue connecting (yes/no)? ---------- と聞かれるのは、現在のログインしているユーザーが、対象サーバーへ初めてSSH接続するか、サーバーメンテナンスに伴いサーバー側の公開鍵が変わったからなので問題ありません。 一度yesと回答すると、${HOME}/.ssh/known_hosts に対象サーバーの公開鍵のフィンガープリントが記録され、次回からは「なりすまし」を検知できるようになります。 もし気になるなら、そのサーバーの /etc/ssh 配下にある「ECDSA」公開鍵のフィンガープリントが「03:2b:2d:b5:ac:d9:71:64:f8:9b:4c:c0:1e:0f:f5:71」かを確認してみてください。
rmrmnrm

2018/04/13 07:28

問題ないということなので実行しました。 都度パスワードが求められ、ファイルが確認できるようになりました。
rmrmnrm

2018/04/16 00:56

お返事が遅くなり申し訳ありません。 丁寧に対応して頂き本当に助かりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問