ビットコイン・インスティテュート

リモートRPCアクセス

7件のメッセージ BitcoinTalk Marko, doublec, nelisky, マイケル・マーカート, サトシ・ナカモト, LZ 2010年9月27日 — 2010年10月1日
Marko 2010年9月27日16:50 UTC

こんにちは、

RPCインターフェースを介してgetinfoを呼び出すクライアントがある。host=localhostの場合はすべて正常に動作する。 しかし、別のホストにあるBitcoinにアクセスしようとするとできない。Wikiを読んだところ、インターフェースは127.0.0.1からのリクエストのみを受け付けるとのことだ。これは今も変わらないのかな? オーバーライドする設定はある?

なければ、各マシンにデプロイする「プロキシ」アプリを書かなければならないだろう。できれば避けたいのだが 😞

ありがとう。

Marko

doublec 2010年9月28日00:51 UTC
Markoの投稿(2010年9月27日16:50 UTC)

Wikiを読んだところ、インターフェースは127.0.0.1からのリクエストのみを受け付けるとのことだ。これは今も変わらないのかな? オーバーライドする設定はある?

まだ変わっておらず、オーバーライド設定はないと思う。ソースにハードコーディングされている。「プロキシ」アプリを書く代わりに、SSHトンネルが使える。例えばBitcoinインスタンスが「example.com」で動いておりSSHサーバーがあるなら、別のマシンからこうトンネルできる:

ssh -N example.com -L 9481:localhost:9481

これでローカルマシンのポート9481のRPCインターフェースが、暗号化されたSSHセッション経由でBitcoin RPCサーバーにトンネルされる。

JSON-RPCパスワードはクリアテキストで送信されるため(base64エンコードだが実質クリアテキスト同等)、接続の暗号化が必要だ。

nelisky 2010年9月28日00:55 UTC
doublecの投稿(2010年9月28日00:51 UTC)
Markoの投稿(2010年9月27日16:50 UTC)

Wikiを読んだところ、インターフェースは127.0.0.1からのリクエストのみを受け付けるとのことだ。これは今も変わらないのかな? オーバーライドする設定はある?

まだ変わっておらず、オーバーライド設定はないと思う。ソースにハードコーディングされている。「プロキシ」アプリを書く代わりに、SSHトンネルが使える。例えばBitcoinインスタンスが「example.com」で動いておりSSHサーバーがあるなら、別のマシンからこうトンネルできる:

ssh -N example.com -L 9481:localhost:9481

これでローカルマシンのポート9481のRPCインターフェースが、暗号化されたSSHセッション経由でBitcoin RPCサーバーにトンネルされる。

JSON-RPCパスワードはクリアテキストで送信されるため(base64エンコードだが実質クリアテキスト同等)、接続の暗号化が必要だ。

自分でBitcoinをコンパイルできる? 最新のSVNにはlocalhostだけでなく他のインターフェースにバインドするオプションがある。できなければ、次のバージョン(0.3.13)にそれが含まれるはずだ。

SVNに -rpcallowip= スイッチがあり、指定したIPアドレスからRPCにアクセスできる。ただし、MITM攻撃に対しては安全ではない。

Marko 2010年9月28日13:58 UTC

みなさん……フィードバックありがとう

SSHの方法は素晴らしい。ただし、マシンはすべてWindowsなので、すべてにインストールする必要がある。プロキシアプリを書くよりはましだけど……

数週間前の -rpcallowipスイッチに関するエントリを見た。必要なら自分でコンパイルする。とはいえ、公式リリースの方がいい。次のバージョンがいつリリースされるか、知っている人はいる?

MITM攻撃の可能性については、公開するネットワークが信頼されていない場合にのみ問題になる。それとも、見落としている他の影響があるのかな?

自分のLAN上で使用する場合、例えばある場所に複数のサーバーがあって互いに通信する場合は安全だ。

0.3.13 RC1がWindows版で利用可能だ:http://www.bitcoin.org/download/bitcoin-0.3.13-rc1-win32-setup.exe

LZ 2010年10月1日01:19 UTC

そして今、リリースが出たよ:link 😊