SSH bestimmte Benutzer nur bei bestimmter IP-Adresse

Gast #5724543
Lesenswert?

Hallo zusammen,

ich versuche seit mehreren Stunden folgende Aufgabe zu lösen:
SSH-Server läuft auf Port 22

Ich habe 3 SSH Benutzer A B C, davon sind 2 reine sftp Benutzer B und C

Benutzer A soll sich unabhängig der anderen Regeln anmelden können

Benutzer B soll sich mit jeder möglichen IP-Adresse anmelden können

Benutzer C soll sich nur anmelden können, wenn er sich im Adress-Bereich 
192.168.1.* befindet.

Ich habe es mit AllowUsers C@192.168.1.* versucht --> hat keine 
Auswirkung, weil mit C@192.168.2.* war eine Anmeldung nach wie vor 
möglich.
Wenn ich AllowUsers C@192.168.1.0/24 habe ich den selben Effekt.

Und über Match C Address 192.168.1.0/24 habe ich ebenfalls kein Erfolg, 
wenn ich mit Match C Address 192.168.2.0/24 eine Anmeldung versuche.

Langsam verstehe ich nicht mehr, wie ich es noch lösen kann. MAN ssh 
bringt mich nicht weiter und google kann mir auch nicht weiter helfen.

Weiss jemand, wie ich das Problem lösen kann?

mfg Julius
#5724882
Lesenswert?

Julius schrieb:
> Langsam verstehe ich nicht mehr, wie ich es noch lösen kann. MAN ssh
> bringt mich nicht weiter

Im Zweifel wäre es auch "man sshd". Und nach dem Überfliegen der Manpage 
würde ich sagen, daß man das nur mit public key authentication und extra 
Optionen in $HOME/.ssh/authorized_keys (für die jeweiligen User) lösen 
kann. Das heißt auch, daß man Password Authetication abschalten muß 
(sollte man sowieso).

Zitat aus der Manpage:
1
An example authorized_keys file:
2

3
  # Comments allowed at start of line
4
  ...
5
  from="*.sales.example.net,!pc.sales.example.net" ssh-rsa
6
  AAAAB2...19Q== john@example.net

Ob man darüber jetzt auch die Verwendung auf scp einschränken kann, dazu 
bin ich überfragt. Aber Google findet

https://serverfault.com/questions/83856/allow-scp-but-not-actual-login-using-ssh

und das lese ich als "ja, kann man"
#5725131
Lesenswert?

Julius schrieb:
> Und über Match C Address 192.168.1.0/24 habe ich ebenfalls kein Erfolg,
> wenn ich mit Match C Address 192.168.2.0/24 eine Anmeldung versuche.

"Match ..." dient lediglich als Bedingung für darauf folgende 
Config-Statements. In
  Match Address 192.168.0.0/16
    AllowUser ...
wird also "AllowUser ..." nur bei diesem Adressbereich angewandt.

Shell-freien Transfer für selektive User/Adressen gibts beispielsweise 
über
  Subsystem sftp internal-sftp ...
  Match ...
    ForceCommand internal-sftp ...

> Langsam verstehe ich nicht mehr, wie ich es noch lösen kann. MAN ssh
> bringt mich nicht weiter und google kann mir auch nicht weiter helfen.

Man sshd ist besser.
https://man.openbsd.org/sshd_config
https://en.wikibooks.org/wiki/OpenSSH/Cookbook/File_Transfer_with_SFTP

Obacht: scp != sftp. Nutzt zwar beides sshd, ist aber verschieden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren