We might want to perform some tasks on a remote server (via SSH) as part of a Bash automation script.
This is how it can be done.
To execute just one command on a remote server, we can use the following syntax:
ssh host "/scripts/automated-task.sh"
This will execute the
automated-task.sh file located in the
/scripts folder on the remote server.
Method 1: One line of code
We can run multiple commands on the remote server by separating those commands with
; or with
ssh host "cd /scripts; automated-task.sh"
ssh host "cd /scripts && automated-task.sh"
Method 2: Multiple lines of code
Another way to run multiple commands is:
ssh -T host <<'EOF' cd /scripts automated-task.sh EOF
In this method, we write each command on a new line. If we run a lot of long commands, this might be the right choice to create more readable code.
Of course, in all of these examples, replace
host with the actual host defined in the SSH
config file or use the connection details (