Guide
    Backup Content Hub

    How can you enable and securely configure SSH access in Proxmox VE?

    How can you enable and securely configure SSH access in Proxmox VE?. Practical guidance on Proxmox, Backup Strategy, and Data Protection.

    Sections
    1
    Action Points
    4
    Guidance Blocks
    21

    Overview

    To enable and verify SSH:

    1. Check if SSH is running:

    systemctl status sshd 2. Confirm it is listening on port 22:

    ss -tuln | grep :22

    If SSH is inactive, start it with:

    systemctl start sshd

    For security hardening, edit /etc/ssh/sshd_config and apply best practices:

    Disable root login:

    PermitRootLogin no

    Disable password authentication:

    PasswordAuthentication no

    Restrict users:

    AllowUsers admin_user

    Optionally change the default port:

    Port 2222

    Reload SSH after changes:

    systemctl reload sshd

    Create a non-root administrative user and configure key-based authentication using ssh-keygen and ssh-copy-id. Ensure .ssh permissions are correctly set (700 for directory, 600 for authorized_keys).

    Next, configure firewall rules. In Proxmox VE Firewall, add an ACCEPT rule for SSH from trusted IP addresses only . If changing ports, update firewall rules accordingly.

    For additional protection, install Fail2Ban to mitigate brute-force attempts and consider enabling two-factor authentication via PAM modules .

    SSH can also be used to access VMs directly. Ensure the VM has an SSH server installed, proper network configuration (bridged, routed, or NAT with port forwarding), and firewall rules allowing port 22 .

    While SSH provides powerful remote control, it must be secured with least-privilege access, key-based authentication, and ongoing monitoring to maintain infrastructure integrity.

    FAQs

    1. Is SSH enabled by default in Proxmox?

    Yes. OpenSSH is typically installed and listening on port 22.

    2. Should root login be disabled?

    Yes. It is recommended to disable root login and use a non-root user with sudo privileges.

    3. How can I test SSH connectivity?

    Use ssh user@proxmox_ip -p from a trusted machine and verify the service status if connection fails.

    Need help with backup and recovery?

    Use the form below to get in touch about backup strategy, recovery planning, and data protection projects.