Run / Execute Command Using SSH

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:

[donotprint][/donotprint]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

ssh [email protected] date

Find out remote server disk space usage:

ssh user1@server1 'df -H'

ssh [email protected] ‘df -H’

Find out remote server kernel version and Linux distro names:

ssh root@nas01 uname -mrs

ssh [email protected] uname -mrs


ssh root@nas01 lsb_release -a

ssh [email protected] lsb_release -a

Sample session:

Animated gif 01: Running commands using ssh client

Run a script called /scripts/

ssh operator@oracle1  '/scripts/'

ssh [email protected] ‘/scripts/’

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"

## sudo syntax ##
ssh -t [email protected] sudo command
ssh -t [email protected] ‘sudo command1 arg1 arg2’ ## su syntax ##
ssh [email protected] su -c "/path/to/command1 arg1 arg2" # RHEL/CentOS specific #
ssh [email protected] su –session-command="/path/to/command1 arg1 arg2"
ssh [email protected] su –session-command="/sbin/service httpd restart"

Posted by: SXI ADMIN

The author is the creator of SXI LLC and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.