2012年12月11日火曜日

BacklogのGitレポジトリへの接続設定

BacklogのGitレポジトリを使えるようにする過程で少しハマったのでメモ。

つまづいたのはSSHでの接続。
Backlogに登録する公開鍵と、手元に置いておく秘密鍵のキーペアを生成
Backlogに公開鍵を登録
git cloneしてみる
Permission Denied (publickey)
と言われてアクセスできない。

まず、gitじゃなくて普通にssh接続してみた。
同じメッセージが返ってくる。
ここで、公開鍵は正しく設定できているはずなので、秘密鍵をきちんとsshが参照できていないんじゃないかと推測。
ので、sshのオプションで秘密鍵ファイルとユーザ名を指定して接続した所、次のエラーが返ってきた。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '[鍵ファイル]' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: [鍵ファイル]
Permission denied (publickey).

パーミッションが原因だった。鍵ファイルを600に変更してもう一度ssh接続したら、上手くいった。

Identity added: [鍵ファイル] ([鍵ファイル])
Hi [Backlogユーザ名]! You've successfully authenticated, but Backlog does not provide shell access.
Connection to [Backlogスペース].git.backlog.jp closed.

sshにもIdentityが追加されたようなので、このままgit clone.
こちらも大丈夫だった。


今回、GitHubとキーペア分けたかったので、.ssh/configも今回作った。
接続できない原因がこちらなのか分からなかったので、時間かかってしまった。
参考:http://d.hatena.ne.jp/dkfj/20120401/1333245048




2012年1月26日木曜日

[Java][Derby] Derbyに急にAcccessControlExceptionで接続できなくなったとき

急にDerbyに接続できなくなって、コンソールには次のようなエラーメッセージが出ているとき。特に、複数のプロジェクトをビルドパスに含む構成にしているとき。
java.security.AccessControlException: access denied (java.util.PropertyPermission user.dir read)
とりあえず、依存先のプロジェクトを一旦ビルドパスから外し、再度加えてみる。
プロジェクトのクリーンもする。

参考:http://old.nabble.com/Re%3A-java.security.AccessControlException%3A-access-denied-%28java.io.FilePermission-derby.log-read%29-p19211798.html


セキュリティポリシーの変更をした場合などは、多分そちらが原因。
参考:
http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/security/overview/jsoverview.html
http://db.apache.org/derby/docs/10.7/devguide/cdevcbabejdfj.html