Remote access of root files


ROOT Version: v6.14.06
Platform: Red Hat Enterprise Linux Server release 7.7 (Maipo)
Compiler: gcc/8.3.0


I have root files stored on a remote host and want to use them for data analysis on my local machine. I am following the example from this post: Remote accessing of root files

Here is my minimal example (I am using “remote-host,” “ip-address,” etc. for privacy). On the remote host, I create a rootd daemon:

remote-user-name@remote-host:~$ rootd -p 5252 -noauth

 NB: The rootd daemon is deprecated and not maintained any longer and will be removed in ROOT v6.16/00
Please contact the ROOT team in the unlikely event this change is disruptive for your workflow.

ROOTD_PORT=5252
ROOTD_PID=26471

Then, on my local machine, I have this script:

#include "TNetFile.h"

void test_remote_access() {

  TNetFile* file = new TNetFile("root://remote-user-name@ip-address:5252/path/to/root/files/file.root", "READ");

}

I compile the script with ACLiC, execute it, and get this output:

root [1] test_remote_access()
SysError in <TUnixSystem::UnixTcpConnect>: connect (ip-address:5252) (Connection timed out)
Error in <TNetFile::TNetFile>: can't open connection to rootd on host ip-address at port 5252
Error in <TNetFile::Create>: authentication attempt unsuccessful
Error in <TNetFile::Create>: failing on file root://remote-user-name@ip-address:5252/path/to/root/files/file.root

Any help would be appreciated as to how to fix this problem. For reference, I can ssh to the remote host from my local machine with

ssh remote-user-name@ip-address

If there is an easier way to do what I am trying to do, I am happy to hear it.

You can try with a web server serving your files, and accessing them via http

You might need to create a local ssh tunnel to have the communication pass through ssh.