Ik wil echter graag weten hoe SSH met key beveiliging intern werkt.
Ssh kan gebruik maken van een cryptografisch sleutelpaar: een privé- en een publieke sleutel. Beide sleutels bestaan uit een groot aantal letters en cijfers die "bij elkaar horen". Dat wil zeggen, berichten die zijn versleuteld met de privé-sleutel kunnen alleen met die publieke sleutel worden ontcijferd en andersom, berichten die met de publieke sleutel zijn versleuteld kunnen alleen met die privé-sleutel worden gelezen.
De client (bijvoorbeeld je desktop) bevat de privé sleutel. De publieke sleutel plaats je (door aan te melden met een wachtwoord of via een beheerder) op de computer waar je verbinding mee wil maken (bijvoorbeeld een server).
Als je contact wil maken met de server stuur je je gebruikersnaam. De server zal dan antwoorden met een bericht wat is versleuteld met je (eerder geplaatste) publieke sleutel. Dit bericht kan je ontcijferen met je privé sleutel en het bericht bevestigen (met een controlegetal) om je te authenticeren.
- Je publieke sleutel is niet geheim (de naam zegt het al). Als iemand je publieke sleutel heeft en deze op een server plaatst kan je aanmelden. Het is niet mogelijk vanuit de publieke sleutel de bijbehorende privé-sleutel te achterhalen.
- Je privé sleutel moet je wel geheimhouden. Als iemand je privé sleutel heeft kan hij met jouw gebruikersnaam aanmelden. Eventueel kan je de privé sleutel voorzien van een wachtwoord tegen misbruik.