http://www.nextstep4it.com/how-to-run-a-command-on-remote-server-without-login-to-server-shell-prompt
By using SSH command, You can run a command on remote server without login to server shell.
SSH Command Format:
# ssh remoteuser@remotehost remotecommand
Suppose I want to run ls command on remote server pk.testmail.com
To run multiple commands on remote server, use semi-colon between commands as shown below:
Use ssh command with tar command to move a directory of files between two machines as an alternative to scp command. Example is explained below:
By using SSH command, You can run a command on remote server without login to server shell.
SSH Command Format:
# ssh remoteuser@remotehost remotecommand
Suppose I want to run ls command on remote server pk.testmail.com
parveen@Earth:~$ ssh root@pk.testmail.com lsNote : - When we run any command on remote server, by default ssh will not allocate a pseudoterminal. For using pseudoterminal we have to use -t option with ssh command as explained below.
The authenticity of host ' pk.testmail.com (x.x.x.x)' can't be established.
RSA key fingerprint is 7d:74:91:ed:30:1e:86:0b:69:c9:77:0b:72:0e:ad:4e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'pk.testmail.com' (RSA) to the list of known hosts.
root@pk.testmail.com's password:
anaconda-ks.cfg
downloads
install.log
install.log.syslog
parveen@Earth:~$ ssh -t root@ pk.testmail.com lsNow you can see, Command out put will be same as we run same command after login to remote server.
root@pk.testmail.com's password:
anaconda-ks.cfg downloads install.log install.log.syslog
Connection to pk.testmail.com closed.
To run multiple commands on remote server, use semi-colon between commands as shown below:
parveen@Earth:~$ ssh -t root@ pk.testmail.com "ls ; df -h ; date ; cal"We can also use echo command to run a remotecommand on remoteserver.
root@pk.testmail.com's password:
anaconda-ks.cfg downloads install.log install.log.syslog server_invalid_mails_cleanup.sh
Filesystem Size Used Avail Use% Mounted on
/dev/vda 20G 6.9G 12G 37% /
tmpfs 246M 0 246M 0% /dev/shm
Mon Nov 10 00:52:12 EST 2014
November 2014
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Connection to pk.testmail.com closed.
parveen@Earth:~$ echo "ls" | ssh root@pk.testmail.comNote:- We can’t use -t option with ssh command to run remotecommand using echo command because Pseudo-terminal will not be allocated because stdin is not a terminal.
Pseudo-terminal will not be allocated because stdin is not a terminal.
root@pk.testmail.com's password:
anaconda-ks.cfg
downloads
install.log
install.log.syslog
Use ssh command with tar command to move a directory of files between two machines as an alternative to scp command. Example is explained below:
parveen@Earth:~$ tar -cvf - images/test1 | ssh root@ pk.testmail.com '(cd /tmp/; tar -xf -)'
images/test1/
images/test1/7
images/test1/6
images/test1/5
images/test1/4
images/test1/9
images/test1/8
images/test1/3
images/test1/2
images/test1/1
root@pk.testmail.com's password:
Now files are uploaded on Remote server. Check files on remote server as shown below.
[root@pk tmp]# ls -l images/
total 4
drwxrwxr-x 2 1000 1000 4096 Nov 10 01:02 test1
[root@pk tmp]# ls -l images/test1/
total 0
-rw-rw-r-- 1 1000 1000 0 Nov 10 01:02 1
-rw-rw-r-- 1 1000 1000 0 Nov 10 01:02 2
-rw-rw-r-- 1 1000 1000 0 Nov 10 01:02 3
-rw-rw-r-- 1 1000 1000 0 Nov 10 01:02 4
-rw-rw-r-- 1 1000 1000 0 Nov 10 01:02 5
-rw-rw-r-- 1 1000 1000 0 Nov 10 01:02 6
-rw-rw-r-- 1 1000 1000 0 Nov 10 01:02 7
-rw-rw-r-- 1 1000 1000 0 Nov 10 01:02 8
-rw-rw-r-- 1 1000 1000 0 Nov 10 01:02 9