How to enable SSH on Proxmox
The SSH protocol lets you connect to your server remotely using the command line, making it ideal for managing your system, installing updates or transferring files. This guide walks you through how to enable SSH on your Proxmox server and set it up for secure use.
Step 1: Prepare your Proxmox server
Before enabling SSH on your Proxmox server, make sure you’ve completed the bare-metal installation of Proxmox. You’ll also need direct access to the server through a console or physical connection. This precaution is important because changing SSH settings can interrupt remote access. If you only connect via SSH and something goes wrong, you could lock yourself out of the server. To avoid this, prepare an alternative “emergency” access method and write down your server’s IP address and root password before you begin.
- Dedicated enterprise hardware
- Configurable hardware equipment
- ISO-certified data centers
Step 2: Check if OpenSSH is installed
Before installing the SSH server on your Proxmox system, check whether an SSH server program is already installed and active. Proxmox is based on Debian, so verifying the service status is easy. Just enter the following command in the terminal:
sudo systemctl status sshbashThe terminal will then show the service status. If you see active (running), it means the SSH service is already installed and running. You can skip the installation and move directly on to the configuration steps, such as setting up SSH keys.
If you see inactive or failed, the SSH service is either not running or not installed correctly. Should this be the case, move on to step 3 and install the SSH service.
Step 3: Install OpenSSH
If step 2 showed that SSH isn’t running on your Proxmox server, you’ll need to install OpenSSH. OpenSSH is the most widely used implementation of the SSH protocol and comes standard on almost all Linux systems. It provides the SSH daemon, which enables secure remote access to the server.
Before installing the package, update your system’s package lists. This ensures you install the latest available version and that all dependencies are properly resolved. Use the following commands to update your system and install the SSH service:
sudo apt update
sudo apt install -y openssh-serverbashAfter installation, the SSH service should start automatically. To make sure everything is working correctly, check the service status again as shown in step 2.
Step 4: Enable automatic startup
To make sure the SSH service is automatically available after every server restart, you need to configure it to start on boot. On Debian-based systems like Proxmox, this configuration is managed by systemd. The following command tells the system to start the service at each boot. With the --now option, the service is also started immediately, so you don’t have to wait until the next restart.
sudo systemctl enable --now sshbashStep 5: Test the connection from your computer
After you’ve installed and enabled SSH on your Proxmox server, you need to test the connection from your computer. To do this, open a terminal on Linux or macOS, or use WSL. If you’re on Windows, you can use an SSH client such as PuTTY. The basic command to establish a connection is:
ssh root@SERVER_IPbashReplace SERVER_IP with the actual IP address or hostname of your Proxmox server.
When you connect for the first time, your SSH client will ask you to verify the server’s fingerprint. This is a security measure to confirm that you’re connecting to the correct server and not to an impostor trying to intercept your connection. Type “yes” to confirm. The fingerprint will then be saved in the ~/.ssh/known_hosts file on your computer, so future connections are automatically trusted.
SSH will then prompt you to enter the root password if password authentication is enabled on the server. If the connection fails, SSH displays an error message such as “Connection refused” (no service available) or “Permission denied” (access denied).
Step 6: Create and use SSH keys
Key-based authentication is more secure and convenient than password-only login. To set it up, generate a key pair on your local machine using the following command:
ssh-keygen -t ed25519 -C "YourName@Workstation"bashYour private key stays on your local machine and should never be shared. The public key ( .pub file) is stored on the server in the ~/.ssh/authorized_keys file. To copy your public key to the server, run:
ssh-copy-id root@SERVER_IPbashStep 7: Configure SSH
After successfully setting up key-based login, adjust the SSH configuration to make your connection even more secure. Open the configuration file using: sudo nano /etc/ssh/sshd_config. Then edit or add the following lines as shown below:
Port 22
PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yesThis configuration increases SSH security by allowing logins only through key authentication and completely disabling password login. Root access is still possible, but only through the SSH keys you’ve just set up. This effectively prevents brute-force attacks.
After updating the configuration file, restart sshd to apply the changes:
sudo systemctl restart sshbashWith SSH now successfully configured, your Proxmox server is ready for secure remote use. To give your virtual machines additional protection against data loss, you can also set up regular automated backups using Proxmox Backup Server.
- Intel Xeon E Raptor Lake
- Enterprise hardware
- Configurable hardware equipment
- ISO-certified data centers

