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:

Tutorial details
Difficulty Easy (rss)
Root privileges No
Requirements None
Time 1m
[/donotprint]ssh user1@server1 command1
ssh user1@server1 'command2'
ssh user1@server1 '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


ssh root@nas01 lsb_release -a

Sample session:

Animated gif 01: Running commands using ssh client

Run a script called /scripts/

ssh operator@oracle1  '/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"

🐧 Please support my work on Patreon or with a donation.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
4 comments… add one
  • Bill Oct 20, 2015 @ 9:41

    Typo with the lsb_release command. Where you have it as host, not command.

    • 🐧 Vivek Gite Oct 20, 2015 @ 19:00

      Thanks for the heads up. The faq has been updated.

  • sumon Nov 25, 2015 @ 13:11

    how can I run/execute ‘nm-tool’ command remotely from the server on host through ssh protocol??

  • Jk Nov 21, 2017 @ 19:52

    How to run in background over ssh ?

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre> for code samples. Problem posting comment? Email me @