SSH (Secure Shell) - протокол сетевого уровня, который используется для безопасного подключения к удаленному серверу, пришедший на замену незащищенному telenet.
В концепции SSH открытый замок представляет публичный ключ, или public key.
Ключ от замка - приватный ключ, или private key.
С помощью публичного ключа мы шифруем данные, а с помощью приватного - расшифровываем. Без приватного ключа даже владелец данных не получит к ним доступа. Приватный ключ важно беречь.
Генерировать ключи можно при помощи ssh-keygen.
Самое соединение защищается при помощи комбинации асимметричного и симметричного шифрования. После успешной аутентификации генерируется симметричный1) ключ, называемыйсессионным. Сессионный ключ может менятся в течении сессии, это называется key re-exchange, таким образом подобрать его попросту невозможно, ведь на его подбор уйдет больше времени, чем он будет актуален в рамках сессии.
Помимо шифрования данных, ssh клиент и сервер проверяют2) целостность данных, что бы убедится в том, что они небыли изменены во время передачи.