☁️Hosting·6 min read

SSH Access & Key Management

Connect to your server via SSH, manage keys, and secure remote access.

What is SSH?

SSH (Secure Shell) is a cryptographic protocol for securely connecting to your server over the network. It gives you full command-line access to manage files, install software, and configure services.

Getting Your SSH Credentials

When your instance is provisioned, you receive:

Username — typically "ubuntu", "bitnami", or "admin" depending on your blueprint
Temporary Private Key — a .pem file used in place of a password
Public IP Address — your server's static IP

Access your credentials anytime from Dashboard → Hosting → [Instance] → SSH Access.

Connecting via SSH

On macOS / Linux

1.Save the private key to a file (e.g., my-server.pem)
2.Set the correct permissions:

chmod 400 my-server.pem

3.Connect:

ssh -i my-server.pem username@your-ip

On Windows (PowerShell)

1.Save the key as my-server.pem
2.Connect:

ssh -i my-server.pem username@your-ip

If you get a permissions error, restrict file access to your user only via file properties → Security.

On Windows (PuTTY)

1.Open PuTTYgen → Load your .pem file → Save as .ppk
2.Open PuTTY → Enter username@your-ip
3.Connection → SSH → Auth → Browse to your .ppk file
4.Click Open to connect

Browser SSH

Each instance page has a "Browser SSH" link that opens the AWS Lightsail console SSH terminal — no configuration required.

Key Security Best Practices

Download and save your private key immediately. It is generated on first request and may change.
Never share your private key with anyone.
Store it in a secure location (encrypted drive, password manager).
If you suspect a key compromise, generate a new key pair via the server CLI and update your local copy.

Setting Up Password-Based SSH (Optional)

By default, key-based auth is more secure. To enable password login:

1.SSH into your server
2.Edit sshd config:

sudo nano /etc/ssh/sshd_config

3.Set:

PasswordAuthentication yes

4.Restart SSH:

sudo systemctl restart sshd

5.Set a strong password:

sudo passwd username

This is NOT recommended for production servers.

Adding Additional SSH Keys

To grant access to team members:

1.SSH into your server
2.Add the public key:

echo "ssh-rsa AAAA...yourkey..." >> ~/.ssh/authorized_keys

3.Verify:

ssh -i their-key.pem theiruser@your-ip

Knowledge Base — NexusHost | NexusHost