Authentication is the process of reliably determining the identity of a communicating party. Identity can be proven by something you know (such as a password), something you have (such as a private key or token), or something intrinsic about you (such as a fingerprint). Secure Shell connections require both host (server) and user (client) authentication. By default the host authenticates to the user using its private key, and then the user authenticates to the host using a password.