SSH is a network protocol of session layer that allows for a remote control of operating system and TCP-connection tunneling (e.g. in the cases of files exchange).
SSH , also, provides for safe transfer of practically any other network protocol in the unprotected environment.
Very often, for the purpose of managing, when one has to log into a particular computer (or server) the latter generates a password request. In a situation when the logging needs to be performed often, entering the same thing over and over again is quite annoying. And what if you have to access many servers and each of them asks for a unique password?
SSH protocol makes it possible to log into a remote server without entering password (it comes handy, e.g., in the cases of reserve copying and file publication, etc).
Needless to say that it only takes the above to handle the password issue, for the public key user identification serves for that purpose, too, (the key that will serve as an the user identifier to be recognized by the remote computer).