Wie erstelle ich einen Benutzer nur mit SSH-Zugriff und leicht einzurichtenden .ssh-dir-Berechtigungen?

Wie erstelle ich einen Benutzer nur mit SSH-Zugriff und leicht einzurichtenden .ssh-dir-Berechtigungen?

Ich mache oft Fehler, wenn ich das .ssh-Verzeichnis manuell einrichte. Ich vergesse leicht ein Flag. Ich muss oft einen neuen Benutzer erstellen und nur den Zugriff per SSH zulassen. Wie mache ich das? Im Grunde möchte ich damit aufhören. "# mkdir .ssh; cd .ssh; ssh-keygen; cat myKey > authorized_keys; cd ..; chown go-r; scp .ssh/myKey friend@IP' etc"Ich bin sicher, dass ich auch jetzt irgendwo einen Fehler gemacht habe. Ich bin ziemlich sicher, dass ein Befehl wie ssh-copy-id hier eine Lösung sein könnte. Zumindest behebt er die Berechtigungen mit .ssh, wenn er richtig verwendet wird.

Möchten Sie so etwas, vielleicht mit SSH-Kopie-ID?

   # adduser tester
   # ssh-key-gen docs
   # ssh-copy-id docs /home/tester/  # not working, how to do this easily?

und dann auf der Clientseite

   $ eval `ssh-agent`
   $ ssh-add ~/.ssh/docs
   $ ssh tester@IP

das sollte den Zugriff auf das Repo mit dem privaten Schlüssel ermöglichen.

Vielleicht verwandt

  1. Wie füge ich einen SSH-Benutzer hinzu, der nur Berechtigungen zum Zugriff auf bestimmte Ordner hat?

  2. Wie würden Sie einen Benutzer erstellen, bei dem das Feld HOME_DIR in /etc/passwd völlig leer ist?

Antwort1

Es gibt /etc/skelein Verzeichnis, das als Vorlage für das Home-Verzeichnis des neuen Benutzers dient. Sie können dort .sshein Verzeichnis mit den richtigen Berechtigungen und ein kleines Shell-Skript mit Befehlen platzieren, die Sie zum Generieren und Kopieren von SSH-Schlüsseln benötigen.

Alles, was Sie nach der Benutzererstellung brauchen, ist, zu seiner Startseite zu gehen und dieses Skript auszuführen. Ganz einfach.

Sie können das Skript auch mit einer Zeichenfolge beenden

rm $0

daher wird es sich nach dem Ausführen selbst löschen.

verwandte Informationen