Jump to content

OpenSSH connection closed by remote host


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

 

ich möchte einen W2k3 Server über Putty verwalten. Dazu habe ich auf dem Server OpenSSH 3.8 für Windows installiert. Der Zugriff soll über Putty 0.58 laufen was auf XP läuft.

 

Soweit so gut. Private u. Public Key mit dem Puttygen.exe erzeugt. Über ein Passwort die Keys gesichert. Public Key Passfrase in die Datei authorized_keys unter Verzeichnis .ssh hineinkopiert (ohne Zeilenumbrüche), die Datei sshd_conf angepasst und den Zugriff versucht.

 

Klappt leider nicht da auf der Putty- Seite die Meldung kommt "Connection closed by remote Host". Daraufhin habe ich ein Log auf dem OpenSSH Server gemacht.

 

 

Log Inhalt OpenSSHd.log

 

/etc/sshd_config: line 16: Bad configuration option: HostKeys

/etc/sshd_config: terminating, 1 bad configuration options

 

 

Inhalt der angemeckerten sshd_conf:

 

# $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

Protocol 2

#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_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 no

# The following setting overrides permission checks on host key files

# and directories. For security reasons set this to "yes" when running

# NT/W2K, NTFS and CYGWIN=ntsec.

StrictModes no

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 yes

# 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 no

#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:30:60

# default banner path

Banner /etc/banner.txt

# override default of no subsystems

Subsystem sftp /usr/sbin/sftp-server

 

 

 

Ich habe die Anleitung Quickstart aus dem Installationsverzeichnis genutzt:

 

Hat leider nicht funktioniert!!!!

 

Ich habe zudem die Keys auch mal ohne Passwortschutz erzeugt, RSA, DSA ausprobiert, StrictModes no, StrictModes yes probiert aber alles ohne Erfolg. Zugriff funktioniert aber unter dem Admin Benutzeraccount mit der Einstellung "PasswordAuthentication yes" in der sshd_conf.

 

Kann mir jemand weiterhelfen??

 

Im Voraus vielen Dank

Link zu diesem Kommentar

jetzt muss ich ja mal echt ganz doof fragen (im ernst, weil ich mir nicht vorstellen kann das das funktioniert...)

 

ssh secure shell kommt doch aus dem unix bereich.

 

damit du diesen ssh-dienst unter einem windows system überhaupt zum laufen bekommst, brauchst du auch cygwin oder dergleichen, die dir überhaupt erstmal die benötigte umgebung incl. verzeichnisstruktur /etc/ ...bla zur verfügung stellen bzw. wird dir das mit der openssh installation autom. so zurecht gebastelt.

 

meine frage, was möchtest du denn wirklich verwalten? oder machen?

doch niemals das windows system verwalten? :shock:

 

dein rootverzeichnis ist /

....das iregndwo auf c:\programme\openssh\... gemappt ist.

darüber hinaus wirst du mit dem ssh oder dem sftp ehh nicht kommen, nur das hat nichts mit verwaltung des windowssystems zu tun.

 

oder brauchst du nur den sftp dienst ? ...denn mit ssh/sftp kannst du bestenfalls in der emulierten unix-umgebung schalten und walten.

 

brauchst du einen sftp server, dann schau dir psftp an (auch aus dem hause putty)

 

eigenartig ...eigenartig ... eigenartig dein problem...

 

 

p.s. zu deinem problem in der config:

 

eigentlich ist die zeile syntaktisch ok und wird eigentlich als comment gewertet, änlich dem rem in MS batch scripten.

er dürfte nicht über diesen fehler stolpern ... ein editiern der zeile könnte abhilfe schaffen, ...aber nicht wundern wenn er dann über den nächsten fehler stolpert.

 

ich denke mal eher, das die config falsch interpretiert wird (auf den ersten blick)

Link zu diesem Kommentar

Hallo,

 

ich habe die ganze Geschichte mal umgedreht, der Zugriff von W2k3 auf XP klappt mit der gleichen Konfiguration ohne Probleme.

 

Zur Motivation:

 

Die Sache war nur mal zum Ausprobieren angedacht um verschiedene Anwendungen testweise über OpenSSH zu sichern, wie z.B. den Remotedesktop, oder SFTP. Hat mich einfach mal interessiert ob es auch bei W2k3 Server möglich ist.

 

Wie kommst du denn auf das seltsame Root- Verzeichnis, wo hast du das gelesen?????:confused:

 

original Message:

dein rootverzeichnis ist /

....das iregndwo auf c:\programme\openssh\... gemappt ist. darüber hinaus wirst du mit dem ssh oder dem sftp ehh nicht kommen, nur das hat nichts mit verwaltung des windowssystems zu tun.

 

Im umgekehrten Fall komm ich in jedes Verzeichnis (Rootrechte), das ist ja Einstellungssache!!!:eek:

 

 

Zum Auskommentieren:

 

original Message:

eigentlich ist die zeile syntaktisch ok und wird eigentlich als comment gewertet, änlich dem rem in MS batch scripten.

er dürfte nicht über diesen fehler stolpern ... ein editiern der zeile könnte abhilfe schaffen, ...aber nicht wundern wenn er dann über den nächsten fehler stolpert.

 

Ich hatte es auch schon auskommentiert, aber damit ist der Serverdienst erst garnicht gestartet!!!!

 

Aber nun mal wieder zurück zum Problem, ich möchte nur wissen warum dieser Fehler bei W2k3 Server auftritt und nicht bei W2k odr XP, denn dort klappt es ohne Probleme????

 

Ich wäre trotzdem sehr dankbar für eine Lösung.

 

Gruß Arachno

Link zu diesem Kommentar

hi du nochmal...

 

ich weiss leider nicht, wie weit deine kenntnisse in den Linux / unix bereich reichen... ansonsten gibt es natürlich einige vertändigungsproblem bzw. sind diese nicht auszuschliessen.

 

als erstes sollte man klären, was man überhaupt "sicher machen möchte" ...

 

ich denke z.B. daran sogenannte klartextprotokolle sicher zu machen, als da wären FTP, http, smtp ...etc.

damit wandern dann benutzernamen und passwörter und auch die zu übertragenen daten sicher über das netzwerk und können nicht mitgesnifft werden.

 

ob es beispielsweise not tut, RDP sicher zu machen weiss ich garnicht ist dies denn ein unsicheres protokoll? ...terminaldienste? ...anderenfalls wäre es spielerei "etwas sicheres" sicher zu machen.

 

SFTP ist das SSH Subsystem und hat nichts mit FTP zu tun, ist ein eigenständiger dienst.

 

openssh denke ich in erster linie um protokolle oder "unsichere" verbindungen darüber zu tunneln.

 

Wie kommst du denn auf das seltsame Root- Verzeichnis, wo hast du das gelesen?????

 

im gegensatz zur windows verzeichnisstruktur C:\ ... D:\ ...usw. kennt unix/linux nur ein sogenanntes root-verzeichnis --> / ...darunter dann die verzeichnisstruktur

/bin

/boot

/dev

/etc

/home

/lib

/root

/include ...usw.

 

dieses wirst du auch nach installation von openssh oder cygwin in deiner windowsverzeichnisstruktur vorfinden ..oder?

 

C: \ Programme \ OpenSSH \ bin

C: \ Programme \ OpenSSH \ include

C: \ Programme \ OpenSSH \ lib

...usw.

 

damit opennsh funktioniert, benötigt es ähnlich wie MS windows programmbibliotheken etc. ...die sich i.d.R. unter /lib .../usr/lib ...usw. befinden

unter windows werden diese durch das setzen von umgebungsvariablen gefunden...

unter unix linux nicht anders ...es taucht immer wieder die / (root-directory) auf.

 

für openssh und sein subsystem SFTP gibt es darüber hinaus kein weiters verzeichnis

 

für ssh ist dieser Punkt genau der windows-installationspfad

c:\programme\openssh ...denn ab hier werden dateien und konfigurationsfiles, bibliotheken relativ und absolut gelinkt ...das muss man verstehn um zu begreifen.

 

schau in deinem sshd_conf configfile nach, ...nur ein beispiel

 

# default banner path

Banner /etc/banner.txt

 

wo genau befindet sich das bei dir? ..lass mich raten: der windows-path lautet

c:\programme\openssh\etc\banner.txt

 

also entweder bietet dir die windowsinstallation von openssh die pfadangabe auf diese weise im konfigfile an ...bzw. hast du ein root verzeichnis wie in meinem ersten post beschrieben, von dem alles ausgeht, der mapping punkt - dein root.

 

dein config file ist typisch für eine linux / unix system ...siehe pfadangaben...

 

wenn man auf einem FTP system in ein verzeichnis eingesperrt ist (das ist so üblich), dann kann man darüberhinaus existente verzeichnisse nicht kompromittieren.

 

mit einem nicht durchgestylten SFTP dienst und wenn man keine "sogenannten changeroot" umgebungen bastelt, kommst du bis in die höchste ebene deines systems.

unter linux ist es das / unter windows

dein arbeitsplatz (dadrunter dann c:\ d:\ ...)

 

um dein problem zu debuggen, musst du auch einwenig verstehn was dort passiert, passieren soll.

Link zu diesem Kommentar

Hallo,

 

ich gebe Dir komplett recht, wenn du sagst warum was sicher machen, was sicher ist. Es geht hier auch nicht um den Zugriff auf einen Terminalserver, sondern z.B. um einen Zugriff über den Remotedesktop auf einen anderen Client oder FTP sichern (SFTP).

 

Hintergrund: Ich habe die OpenSSH Geschichte erst auf diversen Clients installiert und nicht auf dem Server. Clientseitig hat es ohne Probleme geklappt, bis ich es testweise mal auf einem W2k3 Server ausprobiert habe und es dort aus bis jetzt noch nicht geklärten Gründen fehlschlug.

 

Zum anderen bin ich betimmt kein Linux Guru, aber das Rootverzeichnis stellst du unter OpenSSH in der Datei "passwd" ein. Hier kann man unter Windows jedes beliebige Verzeichnis wählen. Standardmäßig unter den Windows Binarys ist dies das jeweilige Rootverzeichniss des Benutzers. Also c:\Dokum....\Benutzer.

 

Aber danke nochmal für dein Linux Tutorial ;)

 

Damit ist das Ursprüngliche Problem aber immer noch nicht geklärt, ich will nur wissen warum dieser Fehler entsteht, nicht welche Verzeichnisse es unter Linux gibt.

 

Gruß Arachno

Link zu diesem Kommentar

hmmm ...du machst es einem ja wirklich nicht leicht... be water my friend

 

...Es geht hier auch nicht um den Zugriff auf einen Terminalserver, sondern z.B. um einen Zugriff über den Remotedesktop auf einen anderen Client

...Terminaldienste bedienen sich des RDP protokolls ...es ist also ein und das gleiche, ein remotedesktop. ;)

der einzige unterschied ist die anzahl der clients die sich per "Remotedesktop" mit dem Rechner/server verbinden können... bei winXP ist das auf 1 session beschränkt.

 

...oder FTP sichern (SFTP)

SFTP hat nicht mit FTP(s) zu tun, während das eine aufgrund des dienstes, protokolls und im connecthandling von hause aus sicher ist (SFTP), bekommt das andere lediglich eine SSL Implementation (AUTH SSL/TLS).

 

du schreibst du möchtest wissen warum das nicht geht, ...und in der beschreibung tust du dich echt sehr schwer... und ganz gewiss sind wir hier für ein linux tutorial fehl am platz.

 

was ich gerne wissen möchte (weil du dir gewiss vorstellen kannst, das ich mir openssh nicht extra auf meinem WIN system installieren muss, um dir evtl. helfen zu können).

 

1) ...dein Win installationspfad von OPENSSH

2) ...ist sshd_config ...die einzige config datei ?

3) ...loggt openssh etwas mit ? ....diese dateien würden sich dann evtl. unter 1) befinden - z-b. verzeichnis ../var/log

4) ...in der psswd stehen nur BENUTZER informationen! , als da wären name, passwort, userid, groupid, beschreibung, DAS VON DIR genannte HOMEVERZEICHNIS des benutzers und seine Loginshell...

4.1) das wird erst relevant, wenn dein openssh funktioniert ! ...tut es jedoch nicht.

 

...und nu schau... du selbst schreibst:

Standardmäßig unter den Windows Binarys ist dies das jeweilige Rootverzeichniss des Benutzers. Also c:\Dokum....\Benutzer

 

FRAGE: wie geht das? du verwendest als verzeichnisangabe in der passwd die Windowsversion der pfadangabe... in deinem geposteten configfile jedoch UNIX Like !

 

du wunderst dich über fehler?

# $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.

.

.

# override default of no subsystems

Subsystem sftp /usr/sbin/sftp-server

 

vielleicht sollte da evtl.

# override default of no subsystems

Subsystem sftp C:\Programme\OpenSSH\usr\bin\sftp-server

 

...nichts anderes wollte ich damit zum ausdruck bringen ...und da du ja nicht konkret geworden bist, was du "scheinbar" schon funktionierend zu stande gebracht hast... nunja...

 

...also ich weiss nicht

wenn du mit deiner konfiguration im reinem bist, dann kannst du dich auch an das debuggen machen und ohne tutorials kommst du nicht sehr weit ;)

 

Zum anderen bin ich betimmt kein Linux Guru, aber das Rootverzeichnis stellst du unter OpenSSH in der Datei "passwd" ein

 

...demnach falsch, in der passwd steht die homedir --- das verzeichnis, in dem der user nach erfolgreichem login landet ...

was also ist deine root dir? oder das für openssh relavante " %system_root% " ... ???

 

es gibt doch bestimmt auch eine gute howtoo für dein problem, vielleicht solltest du dort anfangen...

Link zu diesem Kommentar

Hi,

 

mit Dir macht das ja mal richtig Spass :)

 

Also, erst einmal Herzlichen Glückwunsch zum zweiten Stern ;)

 

Also dieser Eintrag "Subsystem sftp /usr/sbin/sftp-server" in der Konfig sagt doch nur mein SFTP Root Verzeichnis aus, das hat doch nichts mit dem Root Verzeichnisses des Users zu tun, welches unter Windows automatisch bei der Erstellung des Password Files eingetragen wird und definitiv c:\Dokum....\Benutzer-xy ist, da diese Einstellung aus der Umgebungsvariable %Userprofile% von Windows geholt wird.

 

Und die Angabe SFTP in der Konfig sorgt ja auch nicht für den Fehler.

 

Also zu 1 mein Installationspfad --> d:\Programme\Open_SSH

zu 2 --> nein es gibt noch die ssh_config

zu 3 --> siehe Beitrag 1

zu 4 --> :/home/Administrator --> original Auszug aus der passwd

 

... und mit Root Directory des Benutzers habe ich das Homedir gemeint, tschuldigung :( !!!!

 

Naja, ich habe zwar schon sehr viele Postings Howtos und dergleichen gelesen, aber wir kommen wohl nicht weiter, denn von W2k3 auf XP funktioniert aber umgekehrt nicht, mit den gleichen Dateien!!!!?? :confused:

 

Trotzdem danke, für die Linux Stunde :D

 

Gruß Arachno

Link zu diesem Kommentar
Also, erst einmal Herzlichen Glückwunsch zum zweiten Stern

...hehe :D ...ja glaub der 85. beitrag wars wohl ^^

 

argh ...also doch linux tutorial... ^^

 

1) rootverzeichnis = wurzelverzeichnis ...verzeichnis, "von dem alles ausgeht"...

2) es gibt nur 1 rootverzeichnis ^^ ...user haben homeverzeichnisses (...wie du selbst sagtest) und kein root-verzeichnis

 

2) ...ist sshd_config ...die einzige config datei ?

antwort: zu 2 --> nein es gibt noch die ssh_config

kleiner spassssmacher was ^^

 

zu 4 --> :/home/Administrator --> original Auszug aus der passwd

4.1) bitte mal die komplette zeile der passwd posten

4.2) bitte mal den windowspfad der passwd posten

(ich denke das sie wiefolgt aussieht: d:\Programme\Open_SSH\etc\passwd ?)

 

4.3) ...gibt es das verzeichnis :/home/Administrator ? ich denke nicht.

steht noch etwas vor dem ---> " : " ? ...naja seh ich ja, wenn du mir die koplette zeile geopostet hast

 

(nebenbei, ob das nun ein backslash oder slash ist, spielt keine rolle ...das sind sogenannte seperatoren, wichtig ist das der ssh dienst aufgrund dessen die verzeichnisstruktur in configfiles einlesen und interpretieren kann)

 

i.d.R wäre das rootverzeichnis das, was vor dem home steht, also " :/ " ...ab hier wird die verzeichnisstruktur abgebildet ...beispielsweise /home ..blabla ..oder

/usr/bin/...blabla

 

das muss doch erstmal hinhauen, damit dein openssh wie gewünscht funktioniert...

 

nehmen wir, an der administrator möchte sich mit putty's ssh einlogggen, ...muss er doch auch in seinem home landen können, es muss vorhganden sein und auch verzeichnisberechtigungen stimmen.

 

schauen wir uns die "eigentlich" relavanten zeilen deiner config an ...die, die nicht ausdokumentiert sind...

du selbst schreibst: auszug aus der angemeckerten sshd_conf ...isse das nun oder nicht ?

 

zeile

--------

11) Protocol 2

28) PermitRootLogin no

32) StrictModes no

33) RSAAuthentication yes

34) PubkeyAuthentication yes

35) AuthorizedKeysFile .ssh/authorized_keys

42) IgnoreUserKnownHosts yes

46) PasswordAuthentication no

70) UsePrivilegeSeparation no

77) MaxStartups 10:30:60

79) Banner /etc/banner.txt

80) Subsystem sftp /usr/sbin/sftp-server

 

wie gesagt zeile 80)

hier erfolgt die pfad angabe... wo sich die sftp binarys ...der ausführbare dienst befindet

existriert dieser auf deinem system nicht, wirst den dienst natürlich auch nicht zum laufen bekommen.

 

alle anderen zeilen die ausdokumentiert sind, sind erstmal unrelevant !

ABER !! ...nicht definierte (ausdokumentierte configzeilen), die jedoch für die lauffähigkeit gebraucht werden, werden unter umständen durch default werte ersetzt...

die du nicht kennst.

 

...und im übrigen ist das keine art und weise zu debuggen, in dem du sagst

"...auf dem einen system läuft es, auf dem anderen nicht, obwohl es die selben dateien sind" ;)

 

diese wichtigen zeilen sind bei dir ausdokumentiert:

#HostKey /etc/ssh/ssh_host_key

#HostKeys for protocol version 2

#HostKey /etc/ssh_host_rsa_key

#HostKey /etc/ssh/ssh_host_dsa_key

 

dein openssh braucht die aber, also wird er default werte nehmen ...und diese schlüssel beispielsweise dort im pfad (windowspfad) nicht finden.

 

ist der port 22 auf deinem win2k3 offen? ...portscanner, ggf. firewalleinstellungen prüfen

 

..mal sehn wie weit wir jetzt kommen ^^

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...