Save yourself a few keystrokes. Follow the steps below:
-
Run this Bash script on your laptop:
#!/usr/bin/env bash # The hostname of your remote server. host=myserver.com # Create this folder if it does not exist: ~/.ssh mkdir ~/.ssh # Set the correct permissions (required) chmod 700 ~/.ssh # Generate an RSA key pair for identification with the remote server ssh-keygen -t rsa # Copy your public key to the remote server cat ~/.ssh/id_rsa.pub | ssh $host 'cat >> ~/.ssh/authorized_keys' # ssh is very strict about correct permissions ssh $host 'chmod g-w,o-w ~; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys'
At this point, you can connect to your server without typing a password:
-
If you would prefer to type
jupiterrather thanmyserver.com, run this Bash script on your laptop. You'll be able to use this alias with:rsync,scp, andssh.#!/usr/bin/env bash cat >> ~/.ssh/config <<END Host jupiter User carl HostName myserver.com END
-
If you want a single command to do two steps: (1) connect to a login server
jupiter, and then connect to a work serversaturn, configure your~/.ssh/configfile as follows:# ~/.ssh/config Host jupiter User carl Hostname myserver.com Host saturn User carl ProxyCommand ssh -qX jupiter nc %h %p