SSH can be defined as the blood of *nix networks. SSH enables users and administrators to make remote logins to other machines that are connected through any kind of network. If you know the user name, password and IP address of another machine on the network, you can remotely log in to that machine and work on it as if you are actually working in front of that machine. The following is an example in which I'm authenticating to a system with the IP address of 192.168.1.3 as the user test:

[root@gnubox-]# ssh test@192.168.1.3
The authenticity of host '192.168.1.3 (192.168.1.3)' can't be established. RSA key fingerprint is 9f:6I:ae:ac:8f:75:bb:3a:02:4a:f4:6c:7d:b9:0d:07. Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.3' (RSA) to the list of known hosts. test@192.168.1.3's password:
-sh-3.2$ echo I am on 192.168.1.3 Machine I am on 192.168.1.3 Machine
-sh-3.2$

You can open the CD tray of the other machine, close the tray, shutdown, reboot the machine -- depending on the privileges the user name you've logged in with, has.

sftp is an extension to the ssh protocol that helps us to use the SSH connection to transfer files between machines. The following is an example:

[root@iocaIhost-)# sftptest@192.168.1.3 Connecting 10 192.1681.3 .. test@192.168.1.3'spassword:
sftp>ls
Desktop Documents Download Music Pictures Public Templates
Videos a.out test. bin file.cpp t.c
sftp> get t.c
.Fetching /home/test/t.c to t.c
/home/test/t.c 100% 239 02KB/s 0000
sftp>

To download a file from the remote machine we use the get command, and to upload a file, we use put. In the above snippet you can see that I'm downloading a file named t.c using the get command, after logging in to the remote machine using sftp. :.

sshfs is another extension to SSH, which empowers you to mount directories on a remote machine as a filesystem to a specified mount point:

root@locaIhost -]# sshfs test@192.168.1.3:fhome/test/mnt/test test@192.168.1.3'spassword:

In the above snippet, I'm mounting the home directory of the user 'test' on 192.168.1.3 to my local machine under the Imntltest directory.