Setup

Follow instructions at Fedora documentation.

Password length on server should be maximum 8 characters. Further characters are ignored.

Use display numbers starting from 1 without skipping (1, 2, 3, …).

$ sudo systemctl start vncserver-<userA>@:1.service
$ # sudo systemctl start vncserver-<userA>@:3.service <--- This would fail
$ sudo systemctl start vncserver-<userB>@:2.service
$ sudo systemctl start vncserver-<userC>@:3.service
...

To prevent unencrypted connections, add the arguments -localhost and -nolisten tcp to the ExecStart line in systemd unit

ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver -localhost -nolisten tcp %i"

Connection

Create encrypted connection to server

$ ssh -L <localport>:localhost:<remoteport> -N -f -l <loginname> <hostname>

Open VNC client

$ vncviewer &

And enter localhost:<localport> and password.

References