The high performance computing (HPC) cluster (called Mox) at Univ. of Washington (UW) frustratingly requires a password when SSH-ing, even when SSH keys are in use. I have a lengthy, unintelligable password that I use for my UW account, so having to type this in any time I want to initiate a new SSH session on Mox is a painful process.
Today, I finally got fed up with how much time I was wasting (granted, it’s minor in the grand scheme of my day) just logging in to Mox, so I spent some time figuring out how to automate password entry for a new SSH session with Mox.
I tried to handle this using the program
sshpass, but I couldn’t get it to read my password from a file – it would just hang in limbo after executing the command.
In the end, I came across a bash script that does this perfectly. Steps to implement this on Ubuntu 16.04 LTS:
sudo apt install expect
- Create following script (taken from this [StackExchange solution])(https://ift.tt/2LaGayC
#!/usr/bin/expect spawn ssh mox expect "Password:" send "\r" interact
- I have an ~/.ssh/config file that allows me to use “mox” as an alias for my full SSH command
- Replace with your own UW password.
- Change access to script (set read, write, execute for user only):
- Run script from home directory (saved in home directory):
Boom! No having to track down password, copy, and paste!