Eine weitere Lösung, die die Sicherheit erhöht und Sie gleichzeitig entlastet, sodass Sie Ihr Kennwort nicht ständig eingeben müssen:
Wenn Sie Ihren privaten Schlüssel verschlüsseln möchten, können Sie ihn ssh-agentauf Ihrer Workstation verwenden, um den unverschlüsselten Schlüssel zwischenzuspeichern. Wenn Sie Ihren entschlüsselten Schlüssel speichern möchten, führen Sie ssh-add ~/.ssh/id_rsaoder was auch immer Ihr privater Schlüssel heißt. Sie werden aufgefordert, das Kennwort einzugeben, und der entschlüsselte Schlüssel steht für Ihre SSH-Verbindungen zur Verfügung, bis Sie sich abmelden, beenden ssh-agentoder herunterfahren.
Sie können killdie gespeicherten Schlüssel mit ssh-agent -kund Sie können ssh-agent -t [seconds]zum Beispiel eine Lebensdauer für den Schlüssel zuweisen, der sich im Speicher befindet ; Wenn Sie Ihren Schlüssel nicht für immer entschlüsseln möchten, sondern viel um Ihre Hosts herum ssh-en möchten, können Sie das Timeout auf 5-10 Minuten einstellen. Sie müssen also das Kennwort Ihres Schlüssels nicht ständig eingeben.
Auch dies hängt alles damit zusammen, wie sicher Sie in Bezug auf die Sicherheit Ihrer / workstation / sind. Wenn Sie der einzige sind, der Zugriff darauf hat, und Sie über ein ziemlich sicheres lokales Kennwort verfügen, ist dies nicht der Fall Laden Sie Exploits und Rootkits zu sich selbst ein. Ihr passphrasenloser privater Schlüssel ist einigermaßen sicher.
Wenn Sie wie ich sind und Ihren privaten Schlüssel auf einem USB-Stick aufbewahren, möchten Sie diesen auf jeden Fall verschlüsseln, auch wenn es sich nur um einen privaten Schlüssel handelt (ein separater Schlüssel, den ich auf meiner Workstation verwende) Wenn ich meinen Schlüssel verliere, kann ich einfach den öffentlichen Schlüssel des ~/.ssh/authorized_keysUSB-Sticks von der Liste meines Servers entfernen , wodurch auch ein / ausgezeichneter / Grund angezeigt wird, NÜTZLICHE Kommentare zu Ihren öffentlichen Schlüsseln hinzuzufügen.
In Ihrer Antwort auf eine frühere Antwort sagten Sie, dass nur Personen, denen Sie vertrauen, mit den Schlüsseln Zugriff auf das Gerät haben. Ich möchte nur klarstellen, dass sich Ihr privater Schlüssel NICHT auf dem Server befinden muss, zu dem Sie eine Verbindung herstellen, falls Sie dies tun. Nur Ihr öffentlicher Schlüssel muss sich auf dem Server befinden, und das ist kein Problem, weshalb es sich um einen "öffentlichen" Schlüssel handelt.
oh, ich habe vergessen zu erwähnen; Ich ssh-agentstarte , wenn ich X starte. Andernfalls werden die entschlüsselten Schlüssel, mit ssh-adddenen ich speichere, nicht in verschiedenen xtermSitzungen beibehalten. Ich muss das Kennwort jedes Mal neu eingeben , wenn ich das Programm schließe, in dem xtermich gestartet habe ssh-add. In meiner ~/.xinitrcDatei habe ich:
if [ -x /usr/bin/ssh-agent ]; then
eval $(/usr/bin/ssh-agent)
fi
Ich muss den Aufruf ssh-agenteinschließen, evalda ssh-agent einige Umgebungsvariablen zurückgibt, die festgelegt werden müssen, wenn es ausgeführt wird, und von denen aus ~/.xinitrcdie Umgebungsvariablen während der gesamten X-Sitzung konstant sind.