I have a notebook with a workflow that I use to update several servers. I have used it many times and I know it works. Until today. For some reason the RemoteRunProcess is refusing to work with this error message:
RemoteConnect::init: Unable to start SSH connection.
$Failed
The server is online and working as I can ssh to it without issues from a terminal window. I already restarted my Linux laptop and the issue remains.
I used the PrintDefinitions resource function to try to see what is going on and was able to find that in the SecureShellLink`Private`sshInit a library is loaded
SecureShellLink`Private`sshInit =
LibraryFunction[
"/usr/local/Wolfram/Wolfram/14.2/SystemFiles/Links/SecureShellLink/LibraryResources/Linux-x86-64/libSecureShellLink.so",
"SSHInit", {"UTF8String"}, Integer];
The resulting library function is evaluated with the server name as its only argument. The result is an integer and it is currently returning -4 for me. The logic in the code is such that any negative value makes RemoteRunProcess fail:
index = SecureShellLink`Private`sshInit @ hostname;
If[Less[index, 0],
If[
SameQ[index, -3],
Message[RemoteRunProcess::addr, hostname],
Message[RemoteRunProcess::init]
];
Return[$Failed]
];
So my question is, what does it mean for libSecureShellLink.so to return -4? Any hint on further debugging this? Any documentation on how to use this library?
I wish all these networking functions had a "verbose" option to help debugging...