Ja.
Das Kennwort wird gesendet, nachdem die verschlüsselte Verbindung hergestellt wurde, der Remote-Server erhält das Kennwort jedoch im Klartext.
Wenn Sie sich dafür interessieren, ist die beste und einfachste Lösung die Verwendung von SSH-Schlüsseln.
Wenn Sie Computer haben, die keine Schlüssel annehmen können, besteht eine Lösung darin, ein Tool zu erstellen, das Ihre Kennwörter sicher speichert und dann verwendet sshpass
, um abhängig vom Server, zu dem Sie eine Verbindung herstellen, immer das richtige Kennwort zu senden.
Der Grund, warum das Passwort im Klartext gesendet wird, besteht darin, dass alle Entscheidungen über die Handhabung und Speicherung auf der Remote-Seite liegen und der Client völlig dumm sein kann. In den letzten zehn Jahren wurden in Linux- und BSD-Systemen verschiedene Kennwort-Hashing-Formate (Speicherformate) verwendet ( crypt (3) ), von denen keines vom Client unterstützt werden muss.
Das liegt aber auch teilweise an der Geschichte (dh es war schon immer so). Es gibt bessere Challenge-Response-Authentifizierungsprotokolle, die auch mit Kennwörtern verwendet werden können. Zum Beispiel SRP , die den Parteien während der Authentifizierung ein gemeinsames Geheimnis zur Verfügung stellt. Es wurde für einige SSH-Server implementiert, aber der Patch für OpenSSH ist für eine (sehr) alte Version.