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-agent
auf 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_rsa
oder 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-agent
oder herunterfahren.
Sie können kill
die gespeicherten Schlüssel mit ssh-agent -k
und 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_keys
USB-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-agent
starte , wenn ich X starte. Andernfalls werden die entschlüsselten Schlüssel, mit ssh-add
denen ich speichere, nicht in verschiedenen xterm
Sitzungen beibehalten. Ich muss das Kennwort jedes Mal neu eingeben , wenn ich das Programm schließe, in dem xterm
ich gestartet habe ssh-add
. In meiner ~/.xinitrc
Datei habe ich:
if [ -x /usr/bin/ssh-agent ]; then
eval $(/usr/bin/ssh-agent)
fi
Ich muss den Aufruf ssh-agent
einschließen, eval
da ssh-agent einige Umgebungsvariablen zurückgibt, die festgelegt werden müssen, wenn es ausgeführt wird, und von denen aus ~/.xinitrc
die Umgebungsvariablen während der gesamten X-Sitzung konstant sind.