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

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.