Author

Topic: Remote RPC access (Read 7000 times)

LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
September 30, 2010, 09:19:04 PM
#7
And now release is available: link. Smiley
founder
Activity: 364
Merit: 7065
September 30, 2010, 02:27:41 PM
#6
It can be safe if you're using it over your own LAN, like if you have multiple servers at a location that talk to each other.

0.3.13 RC1 is available for Windows:
http://www.bitcoin.org/download/bitcoin-0.3.13-rc1-win32-setup.exe
newbie
Activity: 12
Merit: 0
September 28, 2010, 09:58:51 AM
#5
Hey all...Thanks for all the feedback

The ssh method is great. However, all the machines are windows machines so i'd have to do an install on all of them. Better than writing a proxy app for sure though...

I saw the entry from a few weeks ago about the -rpcallowip switch. I'll compile my own version if i have to. That said, i'd prefer to have an official release. Anyone have an idea when the next version would be posted?

As far as the MITM attack possibility, this only presents a problem if the network i'm exposing to is not trusted. Or is there some other effect i'm missing?
administrator
Activity: 5222
Merit: 13032
September 27, 2010, 08:58:54 PM
#4
There's an "-rpcallowip=" switch in SVN, which allows you to access RPC from the specified IP addresses. This is not safe from MITM attacks, however.
legendary
Activity: 1540
Merit: 1001
September 27, 2010, 08:55:29 PM
#3
I read the wiki and it says the interface only accepts requests from 127.0.0.1. Is this still the case? Is there a setting to override this?

This is still the case and I don't believe there is a setting to override it. It's hardcoded in the source. Instead of writing a 'proxy' app you can use SSH to tunnel. For example, if your bitcoin instance is running on 'example.com' and that machine is running an ssh server, you can tunnel to it from another machine with:

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

Now you can use the RPC interface on your local machine to port 9481 and it will be tunnelled over an encrypted SSH session to the machine running the bitcoin RPC server.

You want to encrypt the connection because the JSON-RPC password is sent in clear text (it's actually base 64 encoded but basically it's the equivalent of clear text).

Can you compile your own bitcoin? The latest svn has an option to allow binding to other interfaces, not just localhost. If not the next version (0.3.13) is supposed to have that.
legendary
Activity: 1078
Merit: 1005
September 27, 2010, 08:51:22 PM
#2
I read the wiki and it says the interface only accepts requests from 127.0.0.1. Is this still the case? Is there a setting to override this?

This is still the case and I don't believe there is a setting to override it. It's hardcoded in the source. Instead of writing a 'proxy' app you can use SSH to tunnel. For example, if your bitcoin instance is running on 'example.com' and that machine is running an ssh server, you can tunnel to it from another machine with:

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

Now you can use the RPC interface on your local machine to port 9481 and it will be tunnelled over an encrypted SSH session to the machine running the bitcoin RPC server.

You want to encrypt the connection because the JSON-RPC password is sent in clear text (it's actually base 64 encoded but basically it's the equivalent of clear text).
newbie
Activity: 12
Merit: 0
September 27, 2010, 12:50:25 PM
#1
Hello,

I'm have a client that calls getinfo over the rpc interface. Everything works fine when host=localhost.
However, when trying to get bitcoin at another host i cannot.
I read the wiki and it says the interface only accepts requests from 127.0.0.1. Is this still the case? Is there a setting to override this?

If not, i'm probably going to have to write a 'proxy' app that i would deploy to each machine running bitcoin. Would prefer not to do this Sad

Thanks,
Marko
Jump to: