Run / Execute Command Using SSH

Posted on in Categories , , last updated October 20, 2015

How do I run a command using ssh under UNIX, OS X, *BSD, and Linux operating systems?

The SSH client program can be used for logging into a remote machine or server and for executing commands on a remote machine. When command is specified, it is executed on the remote host/server instead of a login shell. The syntax is as follows for executing commands over ssh:

ssh [email protected] command1
ssh [email protected] 'command2'
ssh [email protected] 'command1 | command2'

The ssh client will login to a server called server1, using user name called user1 and run a command call command1.

Examples: run commands over ssh

Get remote server date and time:

ssh user1@server1 date

Find out remote server disk space usage:

ssh user1@server1 'df -H'

Find out remote server kernel version and Linux distro names:

ssh root@nas01 uname -mrs

OR

ssh root@nas01 lsb_release -a

Sample session:

Animated gif 01: Running commands using ssh client
Animated gif 01: Running commands using ssh client

Run a script called /scripts/backup.sh:

ssh operator@oracle1  '/scripts/backup.sh'

Run sudo or su command using the following syntax:

## sudo syntax ##
ssh -t user@hostname sudo command
ssh -t user@hostname 'sudo command1 arg1 arg2'
 
 
## su syntax ##
ssh user@nas01 su -c "/path/to/command1 arg1 arg2"
 
# RHEL/CentOS specific #
ssh user@nas01 su --session-command="/path/to/command1 arg1 arg2"
ssh vivek@nixcraft.home.server su --session-command="/sbin/service httpd restart"

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

3 comment

Leave a Comment