SSH
# Accept a new host fingerprint. Otherwise, you get error Host key verification failed.
ssh -o StrictHostKeyChecking=accept-new admin@10.123.11.123
# Pass password
sshpass -p "${SSH_PASS}" ssh admin@10.123.11.123
# Template
ssh-keygen -f "${HOME}/.ssh/known_hosts" -R "10.123.11.123"
sshpass -p "${SSH_PASS}" ssh -o StrictHostKeyChecking=accept-new admin@10.123.11.123
# Execute command and exit
ssh -t admin@10.123.11.123 "mkdir -p /home/admin/bin" # Reboot for .profile to take effect on $HOME/bin
scp
# Upload a file to remote.
scp -r /bin/mongoimport admin@10.123.11.123:/home/admin/bin
# Download a file to remote.
scp -r admin@10.123.11.123:/home/admin/bin/mongoimport /bin
# With sshpass
sshpass -p "${SSH_PASS}" scp -r admin@10.123.11.123:/home/admin/bin/mongoimport /bin
# Using wildcard (*)
sshpass -p "${SSH_PASS}" scp -r "admin@10.123.11.123:/home/admin/d/listings.db*" /data/
# Template
ssh-keygen -f "${HOME}/.ssh/known_hosts" -R "10.123.11.123"
sshpass -p "${SSH_PASS}" scp -o StrictHostKeyChecking=accept-new -r "admin@10.123.11.123:/home/admin/d/listings.db*" /data/
# Can't scp due to permission. Sudo move file to /tmp and allow read by everyone(chmod 1004)
sshpass -p "${SSH_PASS}" ssh -t admin@${ip_addr} "sudo \cp /app/opencex/backend/.env /tmp; sudo chmod 1004 /tmp/.env"
sshpass -p "${SSH_PASS}" ssh -t admin@${ip_addr} "ls /tmp/.env"
sshpass -p "${SSH_PASS}" scp -r "admin@${ip_addr}://tmp/.env" .env.bck