OK, I think I know what the cause of the problem is: The private key is in the new OpenSSH format, which libssh2, the library I am using for SSH, doesn't support. libssh2 only supports RSA and DSA keys, and they must be in the old format (PEM). ...
ubuntu <IP> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o 'IdentityFile="/home/vagrant/FARM-6590-31a509f7.us-east-1.pem"' -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o ...