VNC Mac OS X and Linux connection refused by computer

Amit picture Amit · Jan 24, 2017 · Viewed 8.6k times · Source

I am having issues using VNC between MacOS X and Linux.

I installed tightvnc server on CentOS Linux and vncviewer on Mac OS X. I have done all the setting to my best knowledge and then started vncserver on the Linux computer. I also opened the port 5901.

When I execute the command "vncviewer :1" on the Linux machine, things work fine. I can see desktop appear in a window.

From Mac OS X I am unable to connect to the Linux vncserver. The message I get is "The connection was refused by the computer"

I am able to SSH from Mac to Linux so there is connection between the two computers but VNC won't work.

Can someone please help me save this issue. I have searched the web but found nothing that worked thus far. Thanks!

Here is the message from the vnc log file.

Xvnc TigerVNC 1.1.0 - built May 11 2016 13:01:55
Copyright (C) 1999-2011 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.
Underlying X server release 11704000, The X.Org Foundation


Tue Jan 24 10:03:36 2017
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on all interface(s), port 5901
 vncext:      Listening for HTTP connections on all interface(s), port 5801
 vncext:      created VNC server for screen 0
GNOME_KEYRING_SOCKET=/tmp/keyring-jWrQoB/socket
SSH_AUTH_SOCK=/tmp/keyring-jWrQoB/socket.ssh
GNOME_KEYRING_PID=7644
gnome-session[7629]: WARNING: Could not launch application 'linc-cleanup-sockets.desktop': Unable to start application: Failed to execute
 child process "/usr/bin/linc-cleanup-sockets" (No such file or directory)
Failed to play sound: File or data not found

(polkit-gnome-authentication-agent-1:7668): GLib-GObject-WARNING **: cannot register existing type `_PolkitError'

(polkit-gnome-authentication-agent-1:7668): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
An instance of nm-applet is already running.
Dropbox isn't running!
Dropbox is already running!
Initializing nautilus-dropbox 2015.10.28
(null):  Warning no default label for /home/amit/.gvfs
Failure: Module initalization failed

** (gnome-panel:7657): WARNING **: panel-applet-frame.c:1288: failed to load applet OAFIID:GnoteApplet:
(null)

Answer

Condor picture Condor · Jan 24, 2017

You can tunnel the VNC connection through SSH by using local port forwarding.

To start the port forward:

ssh -NTf -L 5901:localhost:5901 user@linux_server

Then point your VNC viewer at localhost.

vncviewer localhost:5901

Why over SSH, one might ask? Security is a big deal when you allow remote access to any machine. In that aspect, SSH with keys is much better than a VNC login with a password.

You may want to close that port on the router as well.