
Ist es möglich, einen SSH-Server einzurichten, der zum Anmelden weder einen Benutzernamen noch ein Passwort oder ein Zertifikat erfordert? Wenn das nicht möglich ist, würde dann, wenn ich allen Kunden denselben öffentlichen Schlüssel gebe, jede Verbindung einzeln verschlüsselt? (d. h. Benutzer A konnte die Nutzlast der Verbindung von Benutzer B nicht entschlüsseln)
Ich möchte Zugriff auf ein einzelnes Programm gewähren, das zur Eingabe eines Benutzernamens und eines Kennworts auffordert.
Allerdings ist Verschlüsselung unerlässlich und die Benutzer dürfen sich nicht gegenseitig ausspionieren können.
Danke
Antwort1
Ich glaube nicht, dass Sie den Authentifizierungsteil von SSH entfernen können, da Sie zum Öffnen einer Sitzung immer einen Benutzernamen benötigen. Sie können jedoch ein leeres Passwort festlegen und PermitEmptyPasswords
in Ihrer SSHD-Konfiguration auf „Ja“ setzen.
Dies ist jedoch nicht wirklich sicher. Die Verwendung einer Schlüsselauthentifizierung ist besser.
Wenn Sie Ihren Kunden einen öffentlichen Schlüssel geben, bedeutet das, dass sie Ihnen erlauben können, sich mit ihrem SSH-Server zu verbinden, nicht mit Ihrem.
Ich denke, Sie möchten, dass sich Kunden mit Ihrem SSH-Server verbinden. In diesem Fall müssen Ihnen die Kunden ihren öffentlichen Schlüssel geben und Sie erlauben ihnen, sich zu verbinden. Wenn alle Kunden denselben öffentlichen Schlüssel verwenden würden, um sich mit Ihrem SSH-Server zu verbinden, würde das bedeuten, dass alle Kunden denselben privaten Schlüssel verwenden, und das ist keine Option (es ist nicht Ihre Aufgabe, einen privaten Schlüssel bereitzustellen, und private Schlüssel sollten nicht weitergegeben werden).
In Bezug auf Verschlüsselung und Schnüffeln erfolgt die Verschlüsselung mit Sitzungsschlüsseln, nicht mit öffentlichen/privaten Schlüsseln, aber zum Austauschen von Sitzungsschlüsseln verwendet SSH öffentliche/private Schlüssel.
Wenn also alle Ihre Kunden dieselben privaten Schlüssel verwenden würden, könnten sie die Sitzung entschlüsseln, wenn sie eine Sitzung von Anfang an ausspionieren. Wenn sie die Sitzung nach dem Austausch der Sitzungsschlüssel ausspionieren, wäre es sehr schwierig, die Sitzung zu entschlüsseln.
Ein guter Artikel darüber, wie SSH funktionierthttp://www.eng.cam.ac.uk/help/jpmg/ssh/ssh-detail.html
Antwort2
Etwas spät, aber Sie können einen Benutzer zwingen, beim Anmelden ein bestimmtes Programm auszuführen (auf beliebige Weise), indem Sie seine Shell in /etc/passwd auf dieses Programm einstellen. Ich glaube, es gibt eine komplexere Möglichkeit, wenn Sie sshd mit .sshrc-Dateien verwenden, aber ich gehe nicht davon aus, dass Sie OpenSSH verwenden – es steht jedoch alles in den Man-Dateien.
Antwort3
Stellen Sie sich den privaten Schlüssel als denGeheimnisWenn Sie etwas beweisen müssen, wie in diesem Fall Ihre Identität, können Sie behaupten, Siekenne ein Geheimnis, in diesem Fall der private SSH-Schlüssel. Der öffentliche Schlüssel ist genau das: „öffentlich“ und kann in diesem Sinne nicht verwendet werden, um irgendetwas zu beweisen.
Dies geht einher mit der Empfehlung,Geben Sie niemals mehreren Benutzern denselben privaten Schlüssel.. Viele Sicherheitslücken entstehen durch Versuche, Sicherheitsprozesse weniger belastend zu gestalten. Auch dafür gibt es sichere Möglichkeiten. Aber Sie als Administrator müssen die Arbeit machen, sonst machen Sie Ihr Netzwerk und seine Benutzer automatisch angreifbar.
„Keine Abkürzungen nehmen“
Antwort4
BenutzerWillekönnen sich gegenseitig ausspionieren, da sie auf den Speicherplatz anderer Prozesse zugreifen können (vorausgesetzt, sie können beliebige Programme ausführen).