[Debian] OpenSSH kompilieren + sshd starten

kesandal

New Member
Hallo,

ich habe gestern und heute vergeblich versucht openssh zu kompilieren und sshd zu starten.. Ich kriege es einfach nicht hin :(

Vorweg: Ich nehme nicht die Version per apt-get weil ich die 5.6er haben wollte.


Folgendes habe ich gemacht (nach einem Tutorial):
(http://www.linuxfromscratch.org/blfs/view/svn/server/openssh.html)

Code:
wget ....
tar xvfz openssh*
cd openssh*

Dann weiter wie in dem Tutorial:

Code:
install -v -m700 -d /var/lib/sshd &&
chown -v root:sys /var/lib/sshd &&
groupadd -g 50 sshd &&
useradd -c 'sshd PrivSep' -d /var/lib/sshd -g sshd \
    -s /bin/false -u 50 sshd


sed -i.bak 's/ -ldes//' configure &&
./configure --prefix=/usr \
            --sysconfdir=/etc/ssh \
            --datadir=/usr/share/sshd \
            --libexecdir=/usr/lib/openssh \
            --with-md5-passwords \
            --with-privsep-path=/var/lib/sshd &&
make

make tests 2>&1 | tee check.log
grep FATAL check.log

# keine Fehler werden entdeckt

und schließlich

Code:
make install &&
install -v -m755 -d /usr/share/doc/openssh-5.6p1 &&
install -v -m644 INSTALL LICENCE OVERVIEW README* WARNING.RNG \
    /usr/share/doc/openssh-5.6p1

Den Schritt im Tutorial "boot script" habe ich ebenfalls durchgeführt.


Mein Problem nun:
Ich krieg sshd nicht gestartet.


Code:
/usr/sbin/sshd start
> Extra argument start

Könnt ihr mir bitte sagen was ich falsch mache?

Viele Dank
Kesandal
 
Last edited by a moderator:
Code:
/usr/sbin/sshd start
> Extra argument start

/usr/bin/sshd ist kein Startscript und kann daher auch so nicht aufgerufen werden. Entweder du baust dir ein Startscript (oder besorgst dir eins) für deine Distribution, oder du startest sshd von Hand. Wie das geht verrät dir die man-Page zu sshd

Code:
man sshd
 
In der man habe ich folgendes gefunden:

sshd listens for connections from clients. It is normally started at
boot from /etc/rc. It forks a new daemon for each incoming connection.
The forked daemons handle key exchange, encryption, authentication, command execution, and data exchange.

meintest Du das ?
im Ordner etc habe ich nämlich kein "rc".
 
Hallo,
im /etc/ habe ich

ls rc*.* | less ausgeführt.

Es wird ziehmlich viel gefunden:

Code:
rc0.d
# viele Dateien

rc1.d:
K84ssh
# viele Dateien

rc2.d:
S16ssh
# viele Dateien

rc3.d:
S16ssh
# viele Dateien

rc4.d:
S16ssh
# viele Dateien

rc5.d:
S16ssh
# viele Dateien

Was brauch ich denn davon ? :(
 
Habe nochmal einen neuen Anlauf gemacht.

im entpackten Ordner habe ich eine opensshd.init gefunden.

In einem anderen Tutorial wurde diese in /etc/rc.d/init.d/sshd kopiert.

Also:
Code:
cp /home/user/downloads/openssh/opensshd.init /etc/rc.d/init.d/sshd/

dann:
Code:
cd /etc/rc.d/init.d/

Hier war eine Datei namens sshd


Schließlich:
Code:
/etc/rc.d/init.d/sshd start

# Ausgabe:
# starting /usr/sbin/sshd... \c
# done

Und siehe da... Mit netstat sehe ich Port 22 offen :)

Putty bestätigt es mir. Eine Verbindung ist möglich - juhu :D


Könnt Ihr mir bitte sagen ob das Vorgehen korrekt war?
Oder habe ich etwas falsch gemacht und es funktioniert trotzdem.

Besten Dank für Eure Hilfe.
Kesandal
 
Back
Top