Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Da ich hier eine Menge User im System habe, würde es mich interessieren, ob die Möglichkeit besteht, bestimmten Usern das Einloggen per ssh zu verbieten.
Natürlich, so sollte man es normalerweise auch machen. Das ganze lässt sich beispielsweise über asymetrische RSA-Authentifizierung mit public and private keys realisieren.
Zum Beispiel otto auf dem Rechner client soll Zugriff haben, natürlich nur auf seinem home Verzeichnis auf dem server:
client: Otto muss ein Schlüsselpaar basteln, das geht so:
>ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/otto/.ssh/id_rsa): <ENTER>
Enter passphrase (empty for no passphrase): <GEHEIM>
Enter same passphrase again:<GEHEIM>
Your identification has been saved in /home/otto/.ssh/id_rsa.
Your public key has been saved in /home/otto/.ssh/id_rsa.pub.
The key fingerprint is:
der geht euch gar nichts an;-)
Das macht der client. Den public-key also die Datei /home/otto/.ssh/id_rsa.pub (und nur die!)
gibt er dir (per Diskette, usb-stick oder ftp)
Jetzt bist du dran
Server:
1) Benutzer otto einrichten
useradd -m otto
2) Das Verzeichnis .ssh in /home/otto anlegen am besten als otto:
otto@server:~/>mkdir .ssh
3) Dem ssh-Server den öffentlichen Schlüssel bekanttgeben:
otto@server:~/>cat /pfad_wohin_abgelegt/id_rsa.pub >> .ssh/authorized_keys
(Lieber nicht mit Editor versuchen, das geht oft schief. in is_rsa.pub ist nur eine Zeile auch wenn das in manchem Editor anders dargestellt wird. Das Anhängen ist beim ersten Schlüssel nicht wichtig, aber vielleicht soll sich Otto noch von anderen Rechnern anmelden dürfen;-))
3) Einige Einstellungen in der /etc/ssh/sshd_config
vornehmen:
# Root verbieten sich einzuloggen:
PermitRootLogin yes
# Authentifizierung über öffentliche Schlüssel
PubkeyAuthentication yes
# Datei für für öffentliche Schlüssel
AuthorizedKeysFile .ssh/authorized_keys
# Ganz wichtig, ansonsten versucht ssh nach einer
# Ablehnung noch einmal über den unixaccount
# die Authentifizierung zu erledigen
PasswordAuthentication no
anschließen sshd noch einmal starten
z.B.:
>/etc/init.d/./sshd restart
oder
>rcsshd restart
Das ist eine ziemlich sichere Angelegenheit und sehr flexibel. Im Grunde lässt sich damit exakt bestimmen, von welchem Rechner aus jemand auf welchem user mit ssh einloggen darf.