NMRhub now requires an SSH key pair to connect. Use SSH / SFTP / rsync and tools like FileZilla to connect to NMRhub virtual machines (VMs).
After following the instructions at NMRbox User Dashboard SSH Key Setup, your private key should be at:
$HOME/.ssh/id_ed25519%HOMEDRIVE%%HOMEPATH%\.ssh\id_ed25519ssh -vvv to verify if SSH is attempting to use your private key.If you can’t connect after uploading your SSH key, verify the following commands give the same result. Windows users should run these commands from PowerShell:
ssh-keygen -lf $HOME/.ssh/id_ed25519
ssh-keygen -lf $HOME/.ssh/id_ed25519.pub
Ensure the key listed at NMRbox User Dashboard SSH Key matches your $HOME/.ssh/id_ed25519.pub.

If your home directory is writable by anyone other than you, SSH will not work. Connect via VNC and run:
ls -l ~
If w appears after the first group of permissions (e.g., drwx), use the following command to correct it:
chmod go-w ~
rsync?Add the following option to your rsync command:
-e "ssh -i /path/to/your/private_key"
sftp?Add the following option to your sftp command:
-i /path/to/your/private_key
Go to FileZilla’s Site Manager and make the following settings in the General tab. You can leave the port blank, as it defaults to the correct value (22).
This guide covers setting up individual SSH keys for multiple users who share a single system account, with password-protected keys and convenient SSH config entries.
When multiple people share one account on a machine, each person should have their own SSH key pair for security and accountability. This setup allows:
Each user should generate their own key pair on the shared machine.
ssh-keygen -t ed25519 -C "your-email@example.com" -f ~/.ssh/id_ed25519_username
Options explained:
-t ed25519 - Uses the modern Ed25519 algorithm (recommended)-C "your-email@example.com" - Adds a comment to identify the key-f ~/.ssh/id_ed25519_username - Specifies the filename (replace username with a meaningful value)Alternative for older systems: If the server doesn’t support Ed25519, use RSA instead:
ssh-keygen -t rsa -b 4096 -C "your-email@example.com" -f ~/.ssh/id_rsa_username
When prompted, enter a strong passphrase to protect the private key:
Enter passphrase (empty for no passphrase): [type your passphrase]
Enter same passphrase again: [type your passphrase again]
Important: Never leave the passphrase empty! On a multi-user machine where others have access to this key, doing this would let other users log in as you.
ls -la ~/.ssh/id_ed25519_username*
You should see two files:
id_ed25519_username - Your private key (keep this secret!)id_ed25519_username.pub - Your public key (safe to share)View your key by running:
cat ~/.ssh/id_ed25519_username.pub
Then add your individual user key to your NMRbox account at https://nmrbox.nmrhub.org/user-dashboard/ssh-key.
On the shared user account, configure the local SSH client to know about the different keys available.
On your local machine:
nano ~/.ssh/config
Add this configuration (adjust for your setup) - one record as shown below per user on the machine:
Host user1
HostName krypton.nmrbox.org #or a different NMRbox host
User user1
IdentityFile ~/.ssh/id_ed25519_username1
IdentitiesOnly yes
Host user2
HostName krypton.nmrbox.org #or a different NMRbox host
User user2
IdentityFile ~/.ssh/id_ed25519_username2
IdentitiesOnly yes
# etc ...
Options explained:
Host user1 - A short alias you’ll use to connectHostName - The actual server address (domain or IP)User - The shared account username on the serverIdentityFile - Path to your private keyIdentitiesOnly yes - Only use the specified key (prevents trying other keys)chmod 600 ~/.ssh/config
ssh user1
You’ll be prompted for your key’s passphrase (not the server password). After entering it once, the connection should establish.
Please note that in the SSH example directly above, you don’t need to specify a hostname or key - just the alias for the connection (in this case user1) as defined in your .ssh/config file.
As you’ll have one record for each user with a key on this system, each user can use their own alias to SSH into their own account using the proper key.
~/.ssh should be 700, authorized_keys should be 600ssh -v myserverchmod 700 ~/.ssh
chmod 600 ~/.ssh/config
chmod 600 ~/.ssh/id_ed25519_*
chmod 644 ~/.ssh/*.pub
# View public key fingerprint
ssh-keygen -lf ~/.ssh/id_ed25519_username.pub
# List all keys in SSH agent
ssh-add -l