SSH Setup
This guide covers how to configure SSH access to the Odin HPC cluster.
Prerequisites
- Your SSH private key (corresponding to the public key in
users.yaml) - VPN connection (if required)
SSH Key Setup
-
Save your private key to
~/.ssh/(e.g.,~/.ssh/id_rsaor~/.ssh/id_ed25519) -
Set proper permissions:
chmod 600 ~/.ssh/id_rsa # or your key filename
SSH Config Setup
Add the following to your ~/.ssh/config file. Replace YOUR_USERNAME with your username from users.yaml and YOUR_PRIVATE_KEY with the path to your private key:
Host jump-host
HostName jump.odin.navify.com
User YOUR_USERNAME
IdentityFile YOUR_PRIVATE_KEY
ForwardAgent yes
UserKnownHostsFile ~/.ssh/known_hosts.odin
StrictHostKeyChecking accept-new
Host login1
HostName login1.odin.cluster.local
User YOUR_USERNAME
IdentityFile YOUR_PRIVATE_KEY
ProxyJump jump-host
ForwardAgent yes
UserKnownHostsFile ~/.ssh/known_hosts.odin
StrictHostKeyChecking accept-new
Host login2
HostName login2.odin.cluster.local
User YOUR_USERNAME
IdentityFile YOUR_PRIVATE_KEY
ProxyJump jump-host
ForwardAgent yes
UserKnownHostsFile ~/.ssh/known_hosts.odin
StrictHostKeyChecking accept-new
Host data-manager-linux
HostName data-manager-linux.odin.cluster.local
User YOUR_USERNAME
IdentityFile YOUR_PRIVATE_KEY
ProxyJump jump-host
ForwardAgent yes
UserKnownHostsFile ~/.ssh/known_hosts.odin
StrictHostKeyChecking accept-new
Host data-manager-windows
HostName data-manager-windows.odin.cluster.local
User Administrator
IdentityFile YOUR_PRIVATE_KEY
ProxyJump jump-host
ForwardAgent yes
UserKnownHostsFile ~/.ssh/known_hosts.odin
StrictHostKeyChecking accept-new
Note: For
data-manager-windows, the SSH user is alwaysAdministrator.
Why Use a Separate known_hosts File?
- AWS instances get new host keys when restarted or recreated
- Using
~/.ssh/known_hosts.odinisolates Odin infrastructure from your mainknown_hosts StrictHostKeyChecking accept-newaccepts new keys automatically but warns on changes- If you see host key warnings after instance restarts, simply delete the file:
rm ~/.ssh/known_hosts.odin - This approach is more secure than disabling host key checking entirely
Starting SSH Agent
Start your SSH agent and add your key before connecting:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa # or your key filename
Connecting
With the SSH config in place, you can connect using simple commands:
# Connect to jump host
ssh jump-host
# Connect to login nodes (recommended for interactive work)
ssh login1
ssh login2
# Connect to data managers
ssh data-manager-linux
ssh data-manager-windows
Troubleshooting
Permission Denied
- Verify your key permissions:
ls -la ~/.ssh/ - Ensure your public key is in
users.yaml - Check that the user sync workflow has been run
Host Key Changed Warning
# Clear the known hosts file for Odin
rm ~/.ssh/known_hosts.odin
Cannot Resolve Hostname
- Ensure VPN is connected
- Test DNS resolution from jump host:
ssh jump-host "nslookup login1.odin.cluster.local"
Next Steps
- Cluster Access - Learn about different cluster components