Running Commands on a Remote Linux / UNIX Host
You would like to execute a command on a remote Linux/FreeBSD/Solaris/UNIX host and have the result displayed locally. Once result obtained it can be used by local script or program. A few examples:
=> File system and disk information
=> Get user information
=> Find out all running process
=> Find out if particular service is running or not etc
You can use rsh or ssh for this purpose. However, for security reason you should always use the ssh and NOT rsh. Please note that remote system must run the OpenSSH server.
Syntax for running command on a remote host:
ssh [USER-NAME]@[REMOTE-HOST] [command or script]
Where,
- ssh: ssh (SSH client) is a program for logging into a remote machine and for executing commands on a remote machine.
- USER-NAME: Remote host user name.
- REMOTE-HOST: Remote host ip-address or host name, such as fbsd.cyberciti.biz.
- command or script: Command or shell script is executed on the remote host instead of a login shell.
Examples
(A) Get disk information from a server called www1.cyberciti.biz:
$ ssh vivek@www1.cyberciti.biz df -h
(B) List what ports are open on remote host
$ ssh vivek@www1.cyberciti.biz netstat -vatn
(C) Reboot remote host:
$ ssh root@www1.cyberciti.biz reboot
(D) Restart mysql server (please note enclosed multiple command line arguments using a single or double quotes)
$ ssh root@www1.cyberciti.biz '/etc/init.d/mysql restart'
(E) Get memory information and store result/output to local file /tmp/memory.status:
$ ssh vivek@www1.cyberciti.biz 'free -m' > /tmp/memory.status
(G) You can also run multiple command or use the pipes, following command displays memory in format of "available memory = used + free memory" :
$ ssh vivek@debian.test.com free -m | grep "Mem:" | awk '{ print "Total memory (used+free): " $3 " + " $4 " = " $2 }'
See how to configure ssh for password less login using public key based authentication.
=> Related: shell script to get uptime, disk usage, cpu usage, RAM usage,system load,etc. from multiple Linux servers and output the information on a single server in a html format.
Want to stay up to date with the latest Linux tips, news and announcements? Subscribe to our free e-mail newsletter or RSS feed to get all updates.
You can Email this page to a friend.
You may also be interested in other helpful articles:
- Get Information about All Running Services Remotely
- Execute Commands on Multiple Linux or UNIX Servers
- Tunneling VNC connections over SSH - Howto
- Copy MySQL database from one server to another remote server
- Display remote applications on my local X server in Linux
Discussion on This Article:
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: command line arguments, host command, memory information, memory status, openssh server, run command on remote server, run command using ssh client, ssh client



Hi ,
Can you please help to show “how to run top command in a remote host” ?
Thanks,
Amitabh