SSH - Überblick verschaffen
SSH - Überblick verschaffen
Hallo,
ich bin Werkstudent und stehe vor einer etwas unübersichtlichen Aufgabe und sehe vermutlich den Wald vor lauter Bäume nicht.
Ziel: Mitarbeiter sollen sich mittels SSH Zertifikate ohne Passwörter auf verschiedene Server des Unternehmens einloggen können. Jeder Mitarbeiter braucht seine eigene Zertifikate, die sich auch entfernen lassen können, falls Mitarbeiter das Unternehmen verlassen.
Ich muss nun herausfinden wie das geht und es dokumentieren. Ich bekomme demnächst Zugang zu einem SSH Server, den mein Vorgesetzter für mich erstellt. Bis dahin arbeite ich mich soweit ein und versuche das alles auf einer Testumgebung selber hinzubekommen.
Mein generelles Problem: Ich bin ein absoluter Linux-Frischling, habe noch nie ernsthaft mit dem Terminal gearbeitet und mit Netzwerke und Protokolle habe nur bedingt zu tun gehabt und praktisch eher gar nicht und ich stehe im Anbetracht der massiven Informationsflut, die seit 4 Tagen auf mich einprasselt etwas unter Zeitdruck, um mich dann noch in die falsche Richtung durchzukämpfen.
Daher wäre es hilfreich, wenn ich etwas Orientierungshilfe haben könnte oder ihr zu meinem Ansatz etwas sagen könntet.
Ich habe jetzt auf meinen Windows-Rechner die die Virtualbox von Oracle heruntergeladen und eine schlanke VM mit Debian-8.7.1-i386 eingerichtet. 2 Tage habe ich versucht ein Internes Netzwerk zwischen zwei VMs einzurichten, was wohl der falsche Ansatz war. Jetzt habe ich den SSH-Server standarfmäßig auf NAT gelassen und kann zumindest den Host anpingen. Anschließend PuTTY auf dem Host installiert und schau mir jetzt warum PuTTY "connection timed out" kriege. Ich denke es hat etwas mit der Portweiterleitung zu tun.
Das eigentliche Problem jedoch ist, dass mein Ansatz unvollständig und ich nicht wirklich von anfang bis zu Ende in googlebare Worten beschreiben kann was ich eigentlich vorhabe.
Wie würdet ihr grob von Anfang bis zu Ende vorgehen, um das o.g. Ziel umzusetzen?
ich bin Werkstudent und stehe vor einer etwas unübersichtlichen Aufgabe und sehe vermutlich den Wald vor lauter Bäume nicht.
Ziel: Mitarbeiter sollen sich mittels SSH Zertifikate ohne Passwörter auf verschiedene Server des Unternehmens einloggen können. Jeder Mitarbeiter braucht seine eigene Zertifikate, die sich auch entfernen lassen können, falls Mitarbeiter das Unternehmen verlassen.
Ich muss nun herausfinden wie das geht und es dokumentieren. Ich bekomme demnächst Zugang zu einem SSH Server, den mein Vorgesetzter für mich erstellt. Bis dahin arbeite ich mich soweit ein und versuche das alles auf einer Testumgebung selber hinzubekommen.
Mein generelles Problem: Ich bin ein absoluter Linux-Frischling, habe noch nie ernsthaft mit dem Terminal gearbeitet und mit Netzwerke und Protokolle habe nur bedingt zu tun gehabt und praktisch eher gar nicht und ich stehe im Anbetracht der massiven Informationsflut, die seit 4 Tagen auf mich einprasselt etwas unter Zeitdruck, um mich dann noch in die falsche Richtung durchzukämpfen.
Daher wäre es hilfreich, wenn ich etwas Orientierungshilfe haben könnte oder ihr zu meinem Ansatz etwas sagen könntet.
Ich habe jetzt auf meinen Windows-Rechner die die Virtualbox von Oracle heruntergeladen und eine schlanke VM mit Debian-8.7.1-i386 eingerichtet. 2 Tage habe ich versucht ein Internes Netzwerk zwischen zwei VMs einzurichten, was wohl der falsche Ansatz war. Jetzt habe ich den SSH-Server standarfmäßig auf NAT gelassen und kann zumindest den Host anpingen. Anschließend PuTTY auf dem Host installiert und schau mir jetzt warum PuTTY "connection timed out" kriege. Ich denke es hat etwas mit der Portweiterleitung zu tun.
Das eigentliche Problem jedoch ist, dass mein Ansatz unvollständig und ich nicht wirklich von anfang bis zu Ende in googlebare Worten beschreiben kann was ich eigentlich vorhabe.
Wie würdet ihr grob von Anfang bis zu Ende vorgehen, um das o.g. Ziel umzusetzen?
Re: SSH - Überblick verschaffen
Als erstes eine "echte" Linuxmaschine (natürlich Debian) einrichten....mit "eigener direkter" Kontrolle und Verantwortlichkeit über die Hardware.... entweder Dual-Boot in einer kleinen Minipartition <16 GB.... oder halt exklusiv. Ich glaube, mit ner VM wird das so nix... und ich betrachte das für einen Anfänger bei solchen Problemen als Zeitverschwendung. Hingegen mit ner echten Linux-Maschine ist das gar nicht so kompliziert.Amitor123 hat geschrieben:Wie würdet ihr grob von Anfang bis zu Ende vorgehen, um das o.g. Ziel umzusetzen?
Zuletzt geändert von TomL am 01.03.2017 18:18:41, insgesamt 1-mal geändert.
Re: SSH - Überblick verschaffen
a) Linux installieren (Kann ohne X-Server sein, vorzugsweise auf Hardware, irgendnen alter Rechner wird ja wohl aufzutreiben sein)
b) Accounts anlegen: user1, user2, user3
c) versuchen ob Du Dich als user1 einloggen kannst, wenn ja, versuchen ob von dort aus ssh-login per password geht (ssh user2@localhost)
c.2) falls nicht: ssh server installieren und konfigurieren
d) keys für die user erstellen
e) ssh-Login auf keys only umstellen (man ssh lesen, hier im Forum gibts ausreichend viele Anleitungen)
f) ausprobieren
g) sich überlegen wie und wo die Keys erstellt werden (man ssh-keygen) und wo welche Keys abgelegt werden (Stichwort: ~/.ssh/authorized_keys) und was wo gelöscht werden muss - aufschreiben -
h) und dann drüber nachdenken wie man das am geschicktesten automatisiert bekommt
edit: Wort vergessen
b) Accounts anlegen: user1, user2, user3
c) versuchen ob Du Dich als user1 einloggen kannst, wenn ja, versuchen ob von dort aus ssh-login per password geht (ssh user2@localhost)
c.2) falls nicht: ssh server installieren und konfigurieren
d) keys für die user erstellen
e) ssh-Login auf keys only umstellen (man ssh lesen, hier im Forum gibts ausreichend viele Anleitungen)
f) ausprobieren
g) sich überlegen wie und wo die Keys erstellt werden (man ssh-keygen) und wo welche Keys abgelegt werden (Stichwort: ~/.ssh/authorized_keys) und was wo gelöscht werden muss - aufschreiben -
h) und dann drüber nachdenken wie man das am geschicktesten automatisiert bekommt
edit: Wort vergessen
Re: SSH - Überblick verschaffen
Sorry fuer die Rueckfrage, meintest du Zertifikat ala SSH (Private-/Publickey) oder X509 Zertifikat, das z.B. von GSISSH verwendet wird?
Re: SSH - Überblick verschaffen
Die Voraussetzungen sind denkbar schlecht. Du hast wenig Ahnung und bist vor allem nicht bereit dein Windows-System ernsthaft für diesen Test aufzugeben. Und dann putty.exe und VMs. Da baust du dir zwei neue, unnötige Probleme ein.
Wie oben empfohlen besorge dir ein paar alte Rechner (z.B. 10 Jahre alt) und installiere darauf zuhause (denn die Zeit wirst du brauchen um alles zu verstehen) die Rechner, hänge sie in dein WLAN oder LAN und übe dann mit diesen Rechnern. Alle Rechner können gleichzeitig als SSH-Server (
openssh-server) und SSH-Client (
openssh-client) dienen. Ob du ein Desktop wie Gnome, KDE, Cinnamon, Mate, Xfce, Lmde oder Window-Manager wie z.B. Openbox installierst (also generell eine bunte GUI) ist egal. Geht mit und ohne und ist vollkommen irrelevant.
Nutze diese Linux-Rechner (natürlich Debian) ausschließlich am besten für alles inkl. Internet-Recherchen und auch sonstige private Dinge, wo du kein Windows brauchst. Nur so kannst du überhaupt was lernen. Wenn du es verstanden hast kannst du die SSH-Private-Keys auch irgendwie bei Windows in die Putty-Konfiguration reintüdeln. Das ist dann aber auch das einzige relevante Windows-Problem. Der Entanwender wird wahrscheinlich irgendwie in Putty die Keys generieren und den Public-Key dir zur Verfügung stellen müssen, den du dann auf alle SSH-Server verteilst. Fertig ist die Lösung.
Wie oben empfohlen besorge dir ein paar alte Rechner (z.B. 10 Jahre alt) und installiere darauf zuhause (denn die Zeit wirst du brauchen um alles zu verstehen) die Rechner, hänge sie in dein WLAN oder LAN und übe dann mit diesen Rechnern. Alle Rechner können gleichzeitig als SSH-Server (
![Debian](/pics/debianpackage.png)
![Debian](/pics/debianpackage.png)
Nutze diese Linux-Rechner (natürlich Debian) ausschließlich am besten für alles inkl. Internet-Recherchen und auch sonstige private Dinge, wo du kein Windows brauchst. Nur so kannst du überhaupt was lernen. Wenn du es verstanden hast kannst du die SSH-Private-Keys auch irgendwie bei Windows in die Putty-Konfiguration reintüdeln. Das ist dann aber auch das einzige relevante Windows-Problem. Der Entanwender wird wahrscheinlich irgendwie in Putty die Keys generieren und den Public-Key dir zur Verfügung stellen müssen, den du dann auf alle SSH-Server verteilst. Fertig ist die Lösung.
- spiralnebelverdreher
- Beiträge: 1298
- Registriert: 23.12.2005 22:29:03
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Frankfurt am Main
Re: SSH - Überblick verschaffen
Der Punkt "ssh verstehen durch praktische Anwendung im Kleinen" wurde ja schon genannt. Ein Netzwerk aus zwei oder drei Rechnern mit jeweils drei Benutzern sollte dazu vollkommen ausreichen. Ob du das besser mit Virtualbox machst oder echter Hardware erledigst hängt von deinem Geschick (bzw. Vorwissen und Unterstützung) im Umgang damit ab. Bei Virtualbox solltest du beachten, dass der Wirts-Rechner recht viel RAM haben sollte damit das flüssig läuft wenn du Linux-Distris mit grafischer Oberfläche verwenden willst. Bei Umsetzung mit solltest du den Rechnern eindeutige und merkbare Namen bei der Installation mitgeben. Ich verwende da immer europäische Städtenamen, aber das geht natürlich auch mit Planetennamen oder anderen Fantasienamen.Amitor123 hat geschrieben:Hallo,
ich bin Werkstudent und stehe vor einer etwas unübersichtlichen Aufgabe und sehe vermutlich den Wald vor lauter Bäume nicht.
...
Wie würdet ihr grob von Anfang bis zu Ende vorgehen, um das o.g. Ziel umzusetzen?
Zum zweiten ist es nie falsch nach Tutorials / Literatur / Anleitungen zu diesem Thema zu suchen. Es gibt da einiges, z.B http://www.online-tutorials.net/securit ... tikelserie
Aus deiner Aufgabenstellung klingt an, dass die _eigentliche_ große Hürde sein wird, dass Thema Key-Management zu verstehen. Die Nutzung des private/public Keypairs für ssh ist da nur ein möglicher Anwendungsfall. Es ist so, dass das ganze Thema Authentifizierung und Verschlüsselung mittels Schlüsselpaaren im Kleinen relativ einfach ist. Die echte Herausforderung ist die langfristige Verwaltung der Schlüsselpaare in einer größeren Organisationseinheit mit vielen Leuten und vielen Rechnern in unterschiedlichen Netzen.
Wenn du dein kleines Netzwerk mal eingerichtet hast, kannst du ja einige simple Anwendungsfälle durchprobieren:
- Ein Nutzer verlässt die Firma. Was ist bei den Keys zu ändern?
Ein Nutzer bekommt andere Aufgaben.
Ein Nutzer kommt neu in die Firma.
Der Chef (oder sonst wer) möchte einen aktuellen Überblick über die aktuellen Zugangsberechtigungen.
Alte Schlüsselpaare müssen komplett ersetzt werden.
Re: SSH - Überblick verschaffen
Erstmals danke für die Tipps. Ich habe mir jetzt einige Tage genommen und mich erstmalig etwas tiefer mit shell auseinander gesetzt. So langsam fang ich an gefallen dran zu finden
. SSH an sich scheint (bisher) nicht die Probleme zu machen, aber sich mit den Einstellungen der Virtualbox herumzuschlagen nervt total. Leider ist eine richtige Maschine in der Firma nicht drin. Nach den Klausuren kann ich mir zuhause dann spaßeshalber eine richtige Maschine aufsetzenbzw. erstmal eine auftreiben. Vorgesetzter gab mir vorhin Zugang zu zwei richtige VM's auf, wo ich mit Putty darauf zugreife. Ich fang jetzt also wieder bei null an.
Mit Zertifikate meine ich im übrigen privat-/public key.
Ich kämpfe mich da mal erstmal durch und wenn public key authentification läuft, schau ich dann step by step weiter.
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Mit Zertifikate meine ich im übrigen privat-/public key.
Ich kämpfe mich da mal erstmal durch und wenn public key authentification läuft, schau ich dann step by step weiter.
Re: SSH - Überblick verschaffen
Vorteil an den Terminalbefehlen ist, dass sie sich über Jahrzehnte nicht geändert haben und auch nicht ändern werden. Wenn du verstanden hast, dass im Prinzip alle Befehle gleich sind, alle Pakete gleich aufgebaut sind und die Grundstruktur durchgängig logisch ist, dann ist es nicht nur leicht Debian GNU/Linux zu verstehen, sondern dich selbst ganz einfach fortzubilden und neue Befehle einfach zu verstehen.So langsam fang ich an gefallen dran zu finden
Liste aller installierter Pakete:
Code: Alles auswählen
dpkg -l |more
![Debian](/pics/debianpackage.png)
Code: Alles auswählen
dpkg -L coreutils
dpkg -L |fgrep true
dpkg -S /bin/true
man true
![Wink ;-)](./images/smilies/icon_wink.gif)
![Debian](/pics/debianpackage.png)