in reply to Net::OpenSSH key authentication

Have you followed the troubleshooting guide included on the module docs?
"unable to establish master SSH connection: ssh master exited unexpectedly"

That means that the ssh command is failing to authenticate, probably due to bad permissions settings.

The first thing you should do is to ensure that you can connect to the remote host from the CGI environment using public key authentication.

Replace your script with the following:

#!/bin/sh ssh -vvv root@localhost echo "hello world" >/tmp/ssh.out 2>&1 echo rc: $? >>/tmp/ssh.out
Run it from the CGI, check /tmp/ssh.out for errors and solve them (or if you are unable to do it by yourself post the output file here).

Once you get that simplified script working, Net::OpenSSH should just work (otherwise, go to step 4 on the troubleshooting guide).

BTW, using UserKnownHostsFile=/dev/null and StrictHostKeyChecking=no is very insecure, you are opening the door for man-in-the-middle attacks.