Forum: PC Hard- und Software SSH bestimmte Benutzer nur bei bestimmter IP-Adresse


von Julius (Gast)


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

von Markus M. (adrock)


Lesenswert?

Du hast auch immer den SSH Dienst nach jeder Änderung neu gestartet? 
Sonst wird er die geänderte Konfiguration vermutlich nicht lesen.

von Julius (Gast)


Lesenswert?

Ja das habe ich jeweils immer nach jeder Änderung gemacht.

von Axel S. (a-za-z0-9)


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"

von Georg A. (georga)


Lesenswert?

Bei reinen scp/sftp-Usern kann man auch scponly als Shell nehmen. Da 
geht dann eh kein normales Einloggen mehr.

von (prx) A. K. (prx)


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.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.