Troubleshooting “No Matching Security Types” Error When Connecting VNC Viewer from Windows to MacOS Leopard 10.5.7


2 views

When attempting to establish a VNC connection between Windows (using VNC Viewer 4.1.3) and MacOS Leopard 10.5.7, users frequently encounter the "no matching security types" error. This occurs despite:

  • Both machines being on the same LAN
  • Mac's built-in Screen Sharing working between Apple devices
  • No additional VNC server software installed on the Mac

The root cause stems from encryption protocol differences between older MacOS versions and modern VNC clients. Leopard's native VNC server uses:

Authentication: System Password
Encryption: 3DES (older standard)

Whereas VNC Viewer 4.x expects:

Authentication: VNC Password
Encryption: AES (modern standard)

Option 1: Configure VNC Viewer Compatibility Mode

Modify the connection settings in UltraVNC/TightVNC:

1. Create a new connection
2. Set Security Types to "VNC Authentication"
3. Enable "Legacy Encoding" option
4. Set Color Depth to 16-bit

Option 2: Alternative Remote Access Solutions

For developers needing reliable Mac access from Windows:

// PowerShell script to test RDP alternatives
$macIP = "192.168.1.100"
Test-NetConnection $macIP -Port 5900 # VNC default
Test-NetConnection $macIP -Port 3389 # Standard RDP

Recommended alternatives:

  • Chrome Remote Desktop (cross-platform)
  • TeamViewer (no port forwarding needed)
  • Microsoft Remote Desktop (if Mac has RDP enabled)

The connection fails during the initial security negotiation phase. Packet capture reveals:

Client Offered Security Types:
    2 (VNC Authentication)
    19 (Tight Security)
    5 (ARD)

Server Response:
    SecurityResult: Failure (0x00000001)
    ErrorMessage: "no matching security types"

For sysadmins maintaining legacy systems:

# On MacOS Leopard terminal:
sudo defaults write /Library/Preferences/com.apple.RemoteManagement \
VNCLegacyConnectionsEnabled -bool true
sudo defaults write /Library/Preferences/com.apple.RemoteManagement \
LoadRemoteManagementMenuExtra -bool true

This forces the Mac to accept legacy VNC connections while maintaining system security.


The "no matching security types" error typically occurs when there's a protocol mismatch between VNC client and server. Mac's built-in Screen Sharing uses Apple's proprietary authentication protocol, while standard VNC viewers expect RFB protocol security types.

# Mac Screen Sharing uses these ports by default:
# TCP 5900 (VNC) 
# TCP 3283 (Back to My Mac)
# TCP 80/443 (HTTP/HTTPS for web-based management)

Unlike Windows RDP, macOS doesn't include a native RDP server. However, these alternatives exist:

Option 1: Configure VNC Server Properly

For Leopard 10.5.7, modify your VNC server settings:

# In Terminal:
sudo defaults write /Library/Preferences/com.apple.RemoteManagement \
VNCLegacyConnectionsEnabled -bool true

# Then restart ARDAgent:
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
-activate -configure -access -on -restart -agent -privs -all

Option 2: Use Compatible VNC Viewer

Try these viewers known to work with Mac Screen Sharing:

  • TightVNC (Windows) with "None" or "VNC" authentication
  • RealVNC Viewer (enable "Legacy" connection mode)
  • Chicken of the VNC (Mac-specific)

Option 3: Alternative Remote Access Tools

For RDP-like experience on Mac:

# Microsoft Remote Desktop for Mac (connects to Windows)
# Apple Remote Desktop (paid, for Mac-to-Mac)
# NoMachine (NX protocol, cross-platform)
# TeamViewer (commercial but free for personal use)

Check these common configuration points:

  1. Ensure "Screen Sharing" is enabled in System Preferences → Sharing
  2. Verify the user account has remote access permissions
  3. Try connecting with both the computer name and IP address
  4. Check firewall settings (System Preferences → Security)

For technical users, edit the plist directly:

# Backup first:
sudo cp /Library/Preferences/com.apple.RemoteManagement.plist ~/Desktop/

# Edit the plist:
sudo defaults write /Library/Preferences/com.apple.RemoteManagement \
RestoreMachineState -bool false
sudo defaults write /Library/Preferences/com.apple.RemoteManagement \
VNCLegacyConnectionsEnabled -bool true
sudo defaults write /Library/Preferences/com.apple.RemoteManagement \
ScreenSharingReqPermEnabled -bool false

Remember to restart the service after changes:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent