[gelöst] (Zwei) SSH Daemon(s) auf einem Server

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
peterhart
Beiträge: 10
Registriert: 29.04.2020 17:36:18

[gelöst] (Zwei) SSH Daemon(s) auf einem Server

Beitrag von peterhart » 29.04.2020 18:34:24

Hallo liebe Debian Spezis,
ich heiße Peter und lese seit geraumer Zeit hier mit.
Obwohl ich aus der Windows Welt komme, beschäftige ich mich schon lange mit Linux Debian, habe aber nur angelesenes und bescheidenes Wissen.

Ich habe mich in diesem Forum angemeldet weil ich ein Problem habe und alleine nicht weiterkomme.
Im Internet habe ich einige Anleitungen gefunden, welche aber nicht zur Lösung des Problems beitrugen.

Ich habe ein NAS ix4-200d (ehemals von iomega/EMC) mit Debian 5.0.2 im Einsatz.
Dieses lässt sich über ein Web Interface konfigurieren und steuern, hat aber auch einen sshd Servicemode (Anmeldung als root mit Passwort), welcher über das Web Interface explizit aktiviert werden muss.

Die Aktivierung des Servicemodes bedeutet jedes Mal einen Neustart und das dauert bei einem RAID 5 System so seine Zeit. Da ich den ssh Zugang öfters brauche würde ich gerne eine zweite Instanz (ohne den Umweg der Aktivierung des Servicemodes) auf einen anderen Port betreiben (2 SSH Daemons auf einem Server).

Was habe ich bis jetzt versucht:

1. duplizieren sshd Konfiguration
cp -rp /etc/ssh/sshd_config /etc/ssh/sshd_config_1

2. in der sshd_config_1 den Port auf 20002 geändert

3. duplizieren init-Script
cp -rp /etc/init.d/sshd /etc/init.d/sshd_1

4. duplizieren
cp -rp /var/run/sshd.pid /var/run/sshd_1.pid

5. in die Runlevel eintragen
update-rc.d -f /etc/init.d/sshd_1 defaults

Unter Pkt 3 komme ich nicht weiter.
Ich kenne mich da nicht wirklich mit diesem Skript aus.
Ich habe in diesem Script (/etc/init.d/sshd_1) sshd durch sshd_1 ersetzt, leider ohne Erfolg.

Hat jemand einen Tipp wie ich eine 2. sshd Instanz zum Laufen bekomme?

Gruß
Peter

sshd original Script:

Code: Alles auswählen

#!/bin/sh
#
# sshd        Starts sshd.
#

# Make sure the ssh-keygen progam exists
[ -f /usr/bin/ssh-keygen ] || exit 0

# Check for the SSH1 RSA key
if [ ! -f /etc/ssh/ssh_host_key ] ; then
	echo Generating RSA Key...
	/usr/bin/ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -C '' -N ''
fi

# Check for the SSH2 RSA key
if [ ! -f /etc/ssh/ssh_host_rsa_key ] ; then
	echo Generating RSA Key...
	/usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -C '' -N ''
fi

# Check for the SSH2 DSA key
if [ ! -f /etc/ssh/ssh_host_dsa_key ] ; then
	echo Generating DSA Key...
	echo THIS CAN TAKE A MINUTE OR TWO DEPENDING ON YOUR PROCESSOR!
	echo
        /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -C '' -N ''
fi
                
if [ ! -d /var/run/sshd ] ; then
	mkdir -p /var/run/sshd
fi

umask 077

start() {
 	echo -n "Starting sshd: "
	# /usr/sbin/sshd
	# touch /var/lock/sshd
	echo "OK"
}	
stop() {
	echo -n "Stopping sshd: "
        # killall	sshd 
	# rm -f /var/lock/sshd
	echo "OK" 
}
restart() {
	stop
	start
}	

case "$1" in
  start)
  	start
	;;
  stop)
  	stop
	;;
  restart|reload)
  	restart
	;;
  *)
	echo $"Usage: $0 {start|stop|restart}"
	exit 1
esac

exit $?
Zuletzt geändert von peterhart am 02.05.2020 20:46:06, insgesamt 2-mal geändert.

wanne
Moderator
Beiträge: 7447
Registriert: 24.05.2010 12:39:42

Re: Zwei SSH Daemons auf einem Server

Beitrag von wanne » 29.04.2020 19:00:37

Ich habe ein NAS ix4-200d (ehemals von iomega/EMC) mit Debian 5.0.2 im Einsatz.
Uh mein Gott. Wir sind bei Version 10.2. Das ist doppelt so hoch und über ein Jahrzehnt alt und vor der Zeit als ich mit Debian angefangen habe und es Long term Support gab :D. Updates sind kostenlos... Update mal hoch auf 10..
Rein theoretisch müsstest du in der /etc/init.d/sshd_1 irgend wo anpassen, welche Konfigurationsdatei (/etc/ssh/sshd_config_1) du nimmst. und in der /etc/ssh/sshd_config_1 neben dem Port eintragen, dass sein pidfile jetzt /var/run/sshd_1.pid heißt. Glaube nicht, dass da irgend jemand Forensik betreiben wird und dir helfen.
Einmalig kannst du den Server auch damit starten:

Code: Alles auswählen

sshd -f /etc/ssh/sshd_config_1 -p 20002
Bei nem 10er-Debian
In die /etc/ssh/sshd_config_20002

Code: Alles auswählen

PidFile none
Und dann den

Code: Alles auswählen

cp /etc/systemd/system/sshd.service /etc/systemd/system/sshd@.service
systemctl enable sshd@20002
Und dann die Zeilen

Code: Alles auswählen

ExecStartPre=/usr/sbin/sshd -t
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
ExecReload=/usr/sbin/sshd -t
Durch

Code: Alles auswählen

ExecStartPre=/usr/sbin/sshd -p %I -f /etc/ssh/sshd_config_%I -t
ExecStart=/usr/sbin/sshd -p %I -f /etc/ssh/sshd_config_%I -D $SSHD_OPTS
ExecReload=/usr/sbin/sshd -p %I -f /etc/ssh/sshd_config_%I -t
Ersetzen.
rot: Moderator wanne spricht, default: User wanne spricht.

peterhart
Beiträge: 10
Registriert: 29.04.2020 17:36:18

Re: Zwei SSH Daemons auf einem Server

Beitrag von peterhart » 29.04.2020 19:56:58

Wie gesagt, es ist ein NAS.
Da lässt sich leider nichts mehr updaten, weil es herstellerseitig einige geschützte Bereiche gibt.
Der einmalige Start nützt leider nichts.
Danke trotzdem.
Vielleicht hat ja doch jemand noch eine Idee?

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Zwei SSH Daemons auf einem Server

Beitrag von ThorstenS » 29.04.2020 20:15:07

Auch auf nem debian lenny gab es schon dropbear auch als statisch gelinktes binary (damit hab ich zu sarge Zeiten schonmal experimentiert, wenn ich mich recht erinnere).
Danach würde ich suchen. Dann überschneiden sich auch nicht irgendwelche /var/run/sshd.pid Dateien odgl. Ansonsten würde ich den underscore rausnehmen und ne Zahl oder einen Buchstaben dran hängen ans initscript.

peterhart
Beiträge: 10
Registriert: 29.04.2020 17:36:18

Re: Zwei SSH Daemons auf einem Server

Beitrag von peterhart » 30.04.2020 09:44:49

wie ich bereits gesagt habe, lässt sich leider nichts an zusätzlicher Sw auf dem NAS installieren.

Kann jemand zu dem Script etwas sagen?
Ich kann da irgendwie nichts herauslesen, was darauf hindeutet das der sshd Daemon gestartet wird.

Ab start() sind ja nur echo Befehle aktiv, alles andere ist ja mit # nur kommentiert.

Diese Script ist aber im Runlevel rc2.d verlinkt (S50sshd -> ../init.d/sshd), welcher aktiv ist bei der ssh Verbindung:

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Zwei SSH Daemons auf einem Server

Beitrag von Lord_Carlos » 30.04.2020 09:49:28

Kannst du nicht die konfig Datei des vorhandenen SSHd aendern, root login + pw verbieten und dass dann immer an lassen? Dann musst du nicht immer neu starten und es ist sicher.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Benutzeravatar
MSfree
Beiträge: 10685
Registriert: 25.09.2007 19:59:30

Re: Zwei SSH Daemons auf einem Server

Beitrag von MSfree » 30.04.2020 10:09:47

peterhart hat geschrieben: ↑ zum Beitrag ↑
29.04.2020 19:56:58
Da lässt sich leider nichts mehr updaten, weil es herstellerseitig einige geschützte Bereiche gibt.
Die Frage ist, was da herstellerseitig alles verpfuscht wurde.

Eigentlich brauchst du keinen zweiten sshd laufen zu lassen. Das sollte auch gehen, wenn du den "ersten" sshd mit update-rc.d in die zu startenden Dienste eintragen läßt. Die ganzen Kopien der Konfigurationsdateien und init-Skripte kannst du dir eigentlich sparen.

Ein einfaches

Code: Alles auswählen

update-rc.d -f /etc/init.d/sshd defaults 
hätte eigentlich ausreichen müssen.

Ich kenne das herstellerseitig verpfuschte Debian natürlich nicht, Debian Lenny ansich kenne ich aber ziemlich gut. Wenn der Hersteller natürlich Dienste willkürlich entfernt, die man als Admin in die zu startenden Dienste eingetragen hat, dann muß man sich wohl mit den Skript- und Config-Kopien behelfen.

peterhart
Beiträge: 10
Registriert: 29.04.2020 17:36:18

Re: Zwei SSH Daemons auf einem Server

Beitrag von peterhart » 30.04.2020 13:36:17

Vielen Dank für euer Engagement zwecks Problemlösung.
1. Die Sicherheit bzgl. root Login etc. spielt keine Rolle, da das NAS sich in einem abgeschotteten NW befindet.
2. Wenn das NAS sich im Service-Mode befindet - und nur dann ist der ssh Server aktiv und ein ssh Login möglich - sind viele andere notwendige Funktionen des NAS ausgeschaltet.
Das Ein- und Ausschalten des Service-Mode geschieht über das Web-Interface des NAS und erfordert jedes mal einen Neustart, welcher aufgrund der RAID 5 Konfiguration etwas länger dauert. Erst das ausschalten des Service-Mode und die damit zusammenhängende Deaktivierung des ssh Servers stellt wieder die volle Funktionalität des NAS bereit.
3. Wenn ich mich im Service-Mode per ssh als root einlogge, dann ist der Runlevel 2 aktiv.
In der /etc/inittab ist der default runlevel mit id:2:initdefault: angegeben.
Wenn ich jetzt mit update-rc.d -f /etc/init.d/sshd defaults den ssh in alle anderen Runlevel eintrage, wird das was bringen?

Ich will nicht riskieren, dass ich keinen ssh Zugang mehr habe. Denn eine Rückstellung in den Auslieferungszustand gibt es nicht.

"Die Frage ist, was da herstellerseitig alles verpfuscht wurde."
Naja, das NAS ist schon ein semiprofessionales System.
Die meisten Hersteller kochen hier ihr eigenes Süppchen.
Immerhin hatte ich über 4 Jahre kostenloses Support auf das NAS.
Aber die Firma iomega wurde aufgekauft und der Support schließlich eingestellt.

Immerhin habe ich kürzlich chron auf dem NAS zum laufen gebracht.

Benutzeravatar
MSfree
Beiträge: 10685
Registriert: 25.09.2007 19:59:30

Re: Zwei SSH Daemons auf einem Server

Beitrag von MSfree » 30.04.2020 14:01:06

peterhart hat geschrieben: ↑ zum Beitrag ↑
30.04.2020 13:36:17
1. Die Sicherheit bzgl. root Login etc. spielt keine Rolle, da das NAS sich in einem abgeschotteten NW befindet.
Darüber kann man sich auch Gedanken machen, wenn man den SSH-Zugang mal am Laufen hat.
Ich erlaube in meinem Heimnetz auch root-Zugang mit Passwort, solange der Client eine IP aus dem LAN hat.
2. Wenn das NAS sich im Service-Mode befindet - und nur dann ist der ssh Server aktiv und ein ssh Login möglich - sind viele andere notwendige Funktionen des NAS ausgeschaltet.
Das hatte ich natürlich schon verstanden.
3. Wenn ich mich im Service-Mode per ssh als root einlogge, dann ist der Runlevel 2 aktiv....
Wenn ich jetzt mit update-rc.d -f /etc/init.d/sshd defaults den ssh in alle anderen Runlevel eintrage, wird das was bringen?
Der Runlevel, in dem der sshd bei einem normalen Lenny gestartet wird, ist 3. Ich würde den also in Runlevel 3 eintragen.
Ich will nicht riskieren, dass ich keinen ssh Zugang mehr habe. Denn eine Rückstellung in den Auslieferungszustand gibt es nicht.
Wenn das Webinterface den SSH-Zugang (Wartungsmodus) in Runlevel 2 einträgt und beim Reboot wieder entfernt, sollte dein update-rc.d in Runlevel 3 davon also unabhängig sein. Der Wartungsmodus wird ziemlich sicher weiterhin gehen. Das schlimmst, das passieren kann, ist, daß der sshd von dieser Verwaltungssoftware wieder aus Runlevel 3 Entfernt wird und du dann immer noch keine Zugang zur Laufzeit hättest.
Naja, das NAS ist schon ein semiprofessionales System.
Heutzutage sind es QNAP und Synology, die ähnliche NAS herstellen. Da ist auch einiges ungewohnt verbaut. Aber rman kommt letztlich doch an die Dinge ran, die man braucht.

Statt update-rc.d kannst du auch manuell einen Link anlegen, der den sshd startet:
mit

Code: Alles auswählen

ln -s /etc/init.d/ssh /etc/rc3.d/S59permanentssh
erreichts du das gleiche.

peterhart
Beiträge: 10
Registriert: 29.04.2020 17:36:18

Re: Zwei SSH Daemons auf einem Server

Beitrag von peterhart » 30.04.2020 16:16:09

Ich habe es mit
ln -s /etc/init.d/sshd /etc/rc3.d/S59permanentsshd
probiert.

Es gibt ja nur das Script etc/init.d/sshd

Nach der Deaktivierung des Support-Mode und Neustart kein Zugriff über ssh.
Also Support-Mode wieder aktiviert und alles wie gehabt.
Es scheint so, dass der sshd im Runlevel rc2.d deaktiviert wird, wenn der Support-Mode aus ist.

Der Link /etc/rc3.d/S59permanentsshd besteht weiterhin im Runlevel rc3.d
Scheinbar startet das System aber nicht im Runlevel rc3.d

Benutzeravatar
MSfree
Beiträge: 10685
Registriert: 25.09.2007 19:59:30

Re: Zwei SSH Daemons auf einem Server

Beitrag von MSfree » 30.04.2020 16:25:53

Jetzt fragt sich aber, wie dieser Dienst deaktiviert wird.
Du könntest natürlich trotzdem mal den Link un rc2.d (= Runlevel 2) anelgen und nochmal testen:

Code: Alles auswählen

ln -s /etc/init.d/sshd /etc/rc2.d/S59permanentsshd
Gibt es auf dem Teil Logfiles unter /var/log? Vielleicht findet sich da ein Hinweis, was da getrieben wird.

peterhart
Beiträge: 10
Registriert: 29.04.2020 17:36:18

Re: Zwei SSH Daemons auf einem Server

Beitrag von peterhart » 30.04.2020 18:02:09

In den logfiles steht nur in der auth.log etwas zu sshd

Apr 30 16:47:26 storage sshd[1081]: Server listening on 0.0.0.0 port 22.
Apr 30 16:48:01 storage CRON[1957]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 30 16:48:03 storage CRON[1957]: pam_unix(cron:session): session closed for user root
Apr 30 16:48:28 storage sshd[2106]: Accepted password for root from 192.168.0.1 port 65516 ssh2
Apr 30 16:48:28 storage sshd[2106]: pam_unix(sshd:session): session opened for user root by (uid=0)
Apr 30 16:48:28 storage sshd[2171]: lastlog_filetype: Couldn't stat /var/log/lastlog: No such file or directory
Apr 30 16:48:28 storage sshd[2171]: lastlog_openseek: /var/log/lastlog is not a file or directory!
Apr 30 16:48:28 storage sshd[2171]: lastlog_filetype: Couldn't stat /var/log/lastlog: No such file or directory
Apr 30 16:48:28 storage sshd[2171]: lastlog_openseek: /var/log/lastlog is not a file or directory!
Apr 30 16:50:01 storage CRON[2699]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 30 16:50:02 storage CRON[2699]: pam_unix(cron:session): session closed for user root
Apr 30 16:52:01 storage CRON[3474]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 30 16:52:02 storage CRON[3474]: pam_unix(cron:session): session closed for user root
Apr 30 16:54:01 storage CRON[4202]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 30 16:54:02 storage CRON[4202]: pam_unix(cron:session): session closed for user root
Apr 30 16:56:01 storage CRON[4874]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 30 16:56:02 storage CRON[4874]: pam_unix(cron:session): session closed for user root
Apr 30 16:58:01 storage CRON[5592]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 30 16:58:02 storage CRON[5592]: pam_unix(cron:session): session closed for user root
Apr 30 17:00:01 storage CRON[6199]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 30 17:00:02 storage CRON[6199]: pam_unix(cron:session): session closed for user root
Apr 30 17:02:01 storage CRON[6969]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 30 17:02:02 storage CRON[6969]: pam_unix(cron:session): session closed for user root
Apr 30 17:04:01 storage CRON[7691]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 30 17:04:03 storage CRON[7691]: pam_unix(cron:session): session closed for user root
Apr 30 17:06:01 storage CRON[8418]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 30 17:06:02 storage CRON[8418]: pam_unix(cron:session): session closed for user root
Apr 30 17:08:01 storage CRON[9111]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 30 17:08:02 storage CRON[9111]: pam_unix(cron:session): session closed for user root


Und jetzt kommt es:
Wenn ich mit /etc/init.d/sshd stop den Server ausschalte, kann ich dennoch eine neue ssh Verbindung aufnehmen???
Ich verstehe das nicht.
root@storage:/# ps ax | grep sshd
1081 ? S 0:00 /usr/sbin/sshd -D
2106 ? Ss 0:00 sshd: root@pts/0
21390 pts/0 R+ 0:00 grep sshd

D.h. doch aber , dass das Script etc/init.d/sshd gar nicht den ssh Server startet.
Das bestätigt meine Vermutung zum o. g. Script.
In diesem wird nirgendwo das /usr/sbin/sshd gestartet.

peterhart
Beiträge: 10
Registriert: 29.04.2020 17:36:18

Re: Zwei SSH Daemons auf einem Server

Beitrag von peterhart » 30.04.2020 18:29:21

Kann man denn den ssh Dienst über die /usr/sbin/sshd direkt starten?

Benutzeravatar
MSfree
Beiträge: 10685
Registriert: 25.09.2007 19:59:30

Re: Zwei SSH Daemons auf einem Server

Beitrag von MSfree » 30.04.2020 19:40:43

Das hier hast du aber schon ausprobiert?

https://www.itdroplets.com/enable-ssh-o ... torcenter/

peterhart
Beiträge: 10
Registriert: 29.04.2020 17:36:18

Re: Zwei SSH Daemons auf einem Server

Beitrag von peterhart » 30.04.2020 20:09:42

Ja, das ist die von mir beschriebene Aktivierung/Deaktivierung des ssh Servers über die Web-Site Service-Modes.
Irgendwo muss ein Script vorhanden sein, welches bei Aktivierung der Checkboxen/Buttons auf der supportaccess.html den ssh Server aktiviert/deaktiviert.

Benutzeravatar
Tintom
Moderator
Beiträge: 3029
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Zwei SSH Daemons auf einem Server

Beitrag von Tintom » 01.05.2020 13:27:46

peterhart hat geschrieben: ↑ zum Beitrag ↑
30.04.2020 20:09:42
Ja, das ist die von mir beschriebene Aktivierung/Deaktivierung des ssh Servers über die Web-Site Service-Modes.
Irgendwo muss ein Script vorhanden sein, welches bei Aktivierung der Checkboxen/Buttons auf der supportaccess.html den ssh Server aktiviert/deaktiviert.
Ich vermute mal das hier
1081 ? S 0:00 /usr/sbin/sshd -D
kommt nicht von dir, muss also von irgendetwas so aufgerufen worden sein.
Wenn du mal ein grep -r "ssh -D" / laufen lässt?

peterhart
Beiträge: 10
Registriert: 29.04.2020 17:36:18

Re: Zwei SSH Daemons auf einem Server

Beitrag von peterhart » 01.05.2020 16:43:02

Ich habe gerade auf meinem Linux Mint Notebook nachgesehen und da steht ebenfalls
866 ? Ss 0:00 /usr/sbin/sshd -D

Und dort wird der Dienst über das Script /etc/init.d/ssh gestartet.

Die suche blieb erfolglos.

Ich glaube ich muss einen anderen Weg gehen und mal über die html Seiten des Web Servers (Mbedthis-Appweb 2.4.0) nachsehen was da genau passiert.

peterhart
Beiträge: 10
Registriert: 29.04.2020 17:36:18

Re: Zwei SSH Daemons auf einem Server

Beitrag von peterhart » 02.05.2020 20:32:28

Ich habe se geschafft!!! :-) Wenn auch nicht mit 2 ssh Daemons auf einem Server.
Nachdem wirklich kein Weg zum sshd Dienst führte, weil der Hersteller wirklich alles unternommen hat, damit niemand daran etwas ändern kann, habe ich mir Debian 5.0.2
aus dem Internet heruntergeladen und in einer VM installiert.
Dann habe ich mit die /etc/init.d/ssh aus der VM auf das NAS kopiert.
Der Inhalt dieser Datei gab mir allerdings Rätsel auf.
Jedenfalls änderte ich sicherheitshalber den Namen in ssh_1 um und habe mit "update-rc.d -f ssh_1 defaults" die Runlevel Einträge gemacht,
ssh Einträge in den Runlevels gab es bereits, zeigten aber ins Nirwana.
Die /etc/ssh/sshd_config gab es ja schon mit den Default Werten wie z. B. Port 22.
Das habe ich so gelassen, da ja der sshd Dienst ausgeschaltet wird, sobald der Service-Mode deaktiviert wurde.
Dann habe ich über die Web-Site des NAS den Service-Mode deaktiviert und das Gerät neu gestartet.
Und siehe da, ich habe Zugriff per ssh.

Ich gebe zu, es war mehr MUB als Logik.
Im übrigen sind auch andere Dienst wie Samba, Appweb etc. von dieser "Verbastelei" des Herstellers betroffen.
Die Dienste werden ausschließlich über das Web-Interface (vermutlich Konfig Dateien XML und php) konfiguriert.
Aber da die ganze Web Geschichte dynamisch war, blieb auch hier die Analyse für mich erfolglos.

Antworten