2017-04-26 4 views
1

Ein Python-Programm P läuft auf Server S1, Abhörport 8443. Einige andere Dienste können id_isa, ip Paar an P senden. P könnte dieses Paar verwenden und eine SSH-Verbindung zum ip (erstellen Sie einen SSH-Prozess).Wie gestaltet man diese Sicherheitsanforderungen?

Wie zu schützen die id_rsa Datei selbst die Maschine S1 ist geknackt? Wie kann Root-Benutzer den Inhalt id_rsa nicht bekommen (Es scheint, dass ssh -i Keyfile nur verwenden kann)?

Das Hauptproblem ist P muss die ID_RSA-Datei auf der Festplatte speichern, so dass SSH es verwenden kann, um die IP zu verbinden.

Antwort

0

Warum fügen Sie nicht einfach einen ssh-Daemon auf Port 8443 hinzu und verwenden ssh-Agent forwarding?

So wird der private Schlüssel nie auf P geschrieben und Sie müssen nicht Ihr eigenes Programm schreiben und pflegen.

+0

weil P nicht nur weiterleiten, führt es einige Skripte mit ssh (python/ansible). – user2219372

+0

Also was willst du eigentlich machen? Benötigen Sie eine interaktive Shell auf dem Zielserver (ip)? Oder möchten Sie ein Skript ausführen, das über Ansible etwas auf dem Zielserver ausführt? Im letzteren Fall verwenden Sie eine Anmeldung auf dem Server S1 mit einem Befehl nur Schlüssel. Ihr Skript (welches der ssh-Befehl ist) liest dann die Parameter von SSH_ORIGINAL_COMMAND und geht von dort aus. – user2563336

Verwandte Themen