Zweites Passwort für den reinen SSH-Zugriff

TL;DR : Ich möchte ein einfaches Passwort haben, um meinen Computer mit physischem Zugang zu entsperren, und ein komplexes Passwort, um eine Verbindung über ssh herzustellen. Dies mit demselben Konto.

Ich suche nach einer Lösung, um den Zugriff auf meinen Computer zu verwalten. Für jemanden, der physischen Zugang zu meinem Computer hat (wie ich und ein paar meiner Freunde, die ihn ab und zu benutzen), hätte ich gerne ein einfaches und kurzes Passwort, das völlig Fremde fernhält. Allerdings würde ich gerne ein weiteres komplexes Passwort für den SSH-Server haben, da der SSH-Server von Zeit zu Zeit aus dem öffentlichen Internet verfügbar sein wird und ein einfaches Passwort ein zu großes Sicherheitsrisiko darstellen würde.

Ich habe mich mit der passwortlosen Authentifizierung mit SSH-Schlüsseln beschäftigt, aber das ist nicht das, wonach ich suche, weil ich in der Lage sein möchte, von jedem Gerät aus per SSH auf meinen Computer zuzugreifen. (Und soweit ich weiß, sollte mein Computer eine Liste vertrauenswürdiger SSH-Schlüssel haben.)

Idealerweise möchte ich also ein einfaches Passwort haben, um meinen Computer mit physischem Zugriff zu entsperren, und ein komplexes Passwort, um eine Verbindung über ssh herzustellen.

Antworten (2)

Ich denke, die eigentliche Lösung besteht darin, ein Nicht-Admin-Konto zu erstellen, auf das über ssh zugegriffen werden kann (vermutlich verfügt das Konto, das Sie über den physischen Zugriff verwenden möchten, über sudo-Berechtigungen). Das ssh-Konto sollte nicht wirklich etwas haben oder in der Lage sein, etwas anderes zu tun, als einen Benutzer sich anmelden zu lassen. Sie können dann suvon diesem Benutzer zu dem eigentlichen Konto, das Sie verwenden möchten, wechseln, was Ihnen eine zusätzliche Sicherheitsebene und eine bessere Protokollierung bezüglich gibt Wer greift auf das System zu (oder versucht es)

Obwohl es für die vorliegende Frage nicht unbedingt relevant ist: Ich schlage auch vor, Ihren ssh-Port von 22 (oder einem anderen bekannten Port) weg zu schalten. Eine hohe Zahl von fast 5000 ist für viele Skript-Kiddies aus dem Weg und wird die Anzahl der Anmeldeversuche, die Sie erhalten, drastisch reduzieren
Ich mag diese Lösung! :) Irgendeine Möglichkeit, den gesamten Zugriff für dieses ssh-Konto zu beschränken, außer zum Ausführen von su?
Sie können es wirklich so einschränken, wie Sie möchten. Wie hart Sie dafür arbeiten wollen, liegt ganz bei Ihnen. Wenn ich es wäre, würde ich nur sicherstellen, dass es keinen sudo-Zugriff hat. Sie könnten so weit gehen, den Zugriff auf /usr/bin einzuschränken oder den PATH zu ändern, wenn Sie möchten

Nicht genau das, was Sie beschreiben, aber es sollte Ihre Probleme lösen. Das Tool heißt "Single Packet Authorization" und eine sehr schöne Implementierung mit Beschreibung ist fwknop .

Wenn Sie einen Computer mit IP haben, auf den Sie über das Internet zugreifen können, ist es sehr üblich, viele Authentifizierungsversuche bei SSH zu sehen, und es ist wirklich praktisch, den Dienst irgendwie zu schützen. Verstecken ist ein guter Ansatz. Fwknop ermöglicht es Ihnen grundsätzlich, den sshPort für eine bestimmte Adresse von Ihrem Mobiltelefon (zum Beispiel) zu entsperren, und Sie können sich dann mit Ihrem relativ einfachen Passwort verbinden, ohne es der Welt preiszugeben.


Wenn es viel zu kompliziert ist, können Sie immer zwei Benutzer einrichten:

  • lokal:
    • mit einfachem Passwort
    • verweigert, sich aus der Ferne anzumelden
  • Fernbedienung:
    • komplexes Passwort
    • erlaubte Remote-Anmeldung mit AllowUsersder Option insshd_config

und richten Sie sudoden Übergang vom Remote zum Lokal ein (entweder automatisch oder manuell), um in den gleichen "Kontext" wie bei Ihren lokalen Anmeldungen zu gelangen.