PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SSH - wie Zugriff für Netze festlegen ?



Darksun777
14.11.03, 15:57
HiHo,

ich möchte das auf meinen Suse 8.0 Server via SSH nur bestimmte IP-Adressen bzw. Netzbereiche connecten koennen.

Also hab ich mal in die /etc/hosts.deny folgendes eingetragen (um erstmal alles zu sperren):

sshd : ALL : ALL

und die /etc/hosts.allow

sshd : 192.168.0.0/255.255.255.0 : ALLOW

Aber so kann trotzdem keiner aus dem 192.168.0' er Netz drauf zugreifen ! (Der Server ist übrigens auch im 192.168.0' er Netz)

Der Zugriff klappt nur wenn ich in der hosts.allow wieder jedem den Zugriff erlaube, also mit

sshd : ALL : ALLOW

Warum klappt es nicht wenn ich ein Netz angebe ? Kann mir jemand helfen ?

Danke schonmal ...

Darksun777
15.11.03, 11:16
kann mir keiner helfen :confused: :confused:

das muss doch irgendwie funzen :confused:

Henne
15.11.03, 11:42
Ich habe ein ganz anderes Problem.
Nach dem Suse online Update ist es mir nicht mehr möglich über ssh mich einzuloggen. Userlogin fragt er ab. Aber egal welchen Nutzer man einloggen möchte puckt er nach der Passwort eingabe immer "access denied" aus. Auf Shift lock hab ich auch geachtet.

heatwalker
15.11.03, 12:00
Hallo,

versuch doch mal einfach in der /etc/hosts.allow folgenden eintrag:

sshd: 192.168.

Das könnte eventuell funktionieren. Allerdings ist dies eigentlich nicht der richtige Weg um den SSH zu administrieren.

Du könntest auch über die "rhosts oder shosts" gehen. (siehe man sshd)
Aber sehr sicher ist das alles nicht. Die bessere Lösung wäre das ganze mit PublicKey's zu sichern und Passwort-Authentifizierung grundsätzlich nicht zu zulassen.

.... ist alles in der manpage zu sshd zu lesen. (-:

mfg heatwalker

heatwalker
15.11.03, 12:06
Hallo Henne,

SuSE legt im allgemeinen von "upgedateten configs" Sicherungen an.
Schau doch mal nach ob die sshd_config ".rpmnew" oder ".orig" oder ".rpmsave" rumliegt.

Alternativ sollte eigentlich in mailbox von root die geänderten configs stehen. (-:
... auch die /var/log/messages nicht zu vergessen.

... den sshd von Hand starten, mit der Option -v. Dann schreibt er erweiterte Fehlermeldungen.

Wenn das alles nicht hilft , poste mal deine sshd_config

mfg Frank Pusch

Henne
16.11.03, 13:48
# $OpenBSD: sshd_config,v 1.65 2003/08/28 12:54:34 markus Exp $

# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.

#Port 22
#Protocol 2,1
#ListenAddress 0.0.0.0
#ListenAddress ::

# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 768

# Logging
#obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no
#PermitEmptyPasswords no

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCreds yes

# Set this to 'yes' to enable PAM authentication (via challenge-response)
# and session processing. Depending on your PAM configuration, this may
# bypass the setting of 'PasswordAuthentication'
UsePAM yes

#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#KeepAlive yes
#UseLogin no
UsePrivilegeSeparation no
#PermitUserEnvironment no
#Compression yes
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10

# no default banner path
#Banner /some/path

# override default of no subsystems
Subsystem sftp /usr/lib/ssh/sftp-server
#IgnoreRhosts yes
RhostsRSAAuthentication no
#RhostsAuthentication no
IgnoreUserKnownHosts no
PrintMotd yes
StrictModes yes
RSAAuthentication yes
PermitRootLogin yes
PermitEmptyPasswords no

Darksun777
16.11.03, 15:17
Original geschrieben von heatwalker
Hallo,

versuch doch mal einfach in der /etc/hosts.allow folgenden eintrag:

sshd: 192.168.

Das könnte eventuell funktionieren. Allerdings ist dies eigentlich nicht der richtige Weg um den SSH zu administrieren.

Du könntest auch über die "rhosts oder shosts" gehen. (siehe man sshd)
Aber sehr sicher ist das alles nicht. Die bessere Lösung wäre das ganze mit PublicKey's zu sichern und Passwort-Authentifizierung grundsätzlich nicht zu zulassen.

.... ist alles in der manpage zu sshd zu lesen. (-:

mfg heatwalker


Hi,

erstmal danke für deine antwort !

leider funktioniert es mit diesem eintrag auch nicht :-(
Hast du noch eine Idee an was das liegen koennte ?

Ich schau mir mal die manpage zu sshd nochmal an, bezüglich der PublicKeys wie du gesagt hast.

Aber trotzdem würde ich gerne wissen warum es so nicht funktioniert . :(

Henne
16.11.03, 15:31
hey der Eintrag ist von meiner sshd_conf
und diese funkzt auch NICHT!!!

Darksun777
16.11.03, 18:21
^^ ??

btw, du haettest fuer dein problem doch nen neuen thread machen koennen, das hat doch nun echt nichts mit dem zu tun was ich geschrieben hab ...

heatwalker
17.11.03, 10:39
Hallo Henne,
da hat Darksun eigentlich recht. Du solltest dafür einen eigenen Thread aufmachen. Aber ich denke dein Problem ist schon gelöst. (-:

In diesen Zeilen steht's

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no <<<<
#PermitEmptyPasswords no

Wenn die Passwort authenifizierung auf nein steht, kannst du Dich auf nicht anmelden.

Diese Information hättest du eigentlich bekommen können, wenn du den SSH-Server mit "sshd -v" gestartet und einen Einloggversuch gemacht hättest. (-:

mfg Frank

heatwalker
17.11.03, 11:17
hallo darksun,

schau Dir doch mal "man 5 hosts_access" an.
Dort steht genau beschrieben wie du die hosts.allow und die hosts.deny einrichten kannst.

allerdings, wie gesagt, ist das eine sehr unsichere Methode da IP-Adressen gefälscht werden können.

mfg Frank

Darksun777
17.11.03, 17:09
Hi Heatwalker,

danke für den tip, jetzt funktioniert es plötzlich. Keine Ahnung warum es vorher nicht ging. :p

Allerdings komme ich mit der Einrichtung mit den PublicKeys nicht wirklich zurecht, die Manpages sind irgendwie sehr verwirrend.

Kannst Du mir vielleicht ein bisschen Starthilfe geben, damit ich mal weiss wie ich anfangen muss ? Oder wäre das zuviel Tipp-Arbeit ?

Gruß, Darksun777

heatwalker
18.11.03, 08:33
Morgen Darksun,

wir können es ja mal versuchen. (-:
Es ist im Grunde ganz einfach. Ist nur die Frage ob ich das jetzt so aus dem Kopf hinbekomme. *g*

Als erstes musst du Dir einen Schlüssel generieren. Das machst du folgender massen:

ssh-keygen -b xxx -t xxxx

-b (hier gibts du die schlüsselgrösse an z.b. 1024) weniger sollten es nicht sein. 1024 bits gelten im allgemeinen noch sicher. (ca. noch 2 bis 4 Jahre)

-t (hier gibst du den Verschlüsselungsalgorithmus an) DSA oder RSA. Ich persönlich favorisiere RSA, da er als sicherste Verschlüsselung gilt.

Standardmässig legt ssh-keygen bei Typ rsa zwei Dateien im Homeverzeichnis an:
~home/id_rsa
~home/id_rsa.pub

Bei der Generierung kannst du natürlich auch andere Dateinamen und/oder andere Verzeichnisse angeben.

Den Inhalt von id_rsa.pub legst du auf deinem SSHD im Homeverzeichnis des Benutzers in die Datei "authorized_keys" ab (mgl. Befehl "cat id_rsa.pub >> ~home/authorized_keys"
.
Vorher aber bitte in deiner SSHD-Conf nachschauen wie die Datei tatsächlich heisst.

Nun, das sollte als grobe Information eigentlich reichen. Fehlende Informationen zur Schlüsselerstellung holst du dir bitte aus "ssh-keygen"

mfg heatwalker

Darksun777
19.11.03, 21:49
danke für die hilfe ! ich komme leider erst morgen dazu es zu testen, aber ich poste dann natürlich nochmal ob es geklappt hat :)