Installation

OpenSSH ist in aller Regel kein Bestandteil von HP-UX. Unter dem Namen „HP-UX Secure Shell“ gibt es eine speziell angepasste OpenSSH-Version. Diese kann kostenlos bei HP bezogen werden: https://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=T1471AA

Nach dem Download kann die Depot-Datei mittels swinstall installiert werden:

# swinstall -s /opt/downloads/HP-UX_11i_v1_T1471AA_A.05.90.001_HP-UX_B.11.11_32_64.depot

swinstall benötigt einen absoluten Pfad zur Depot-Datei!

Automatischer Start

Nach der Installation wird SSH gestartet, nach dem nächsten Reboot wird der Dienst nicht automatisch gestartet. Hier muss ein Symlink im passenden Runlevel Init-Verzeichnis angelegt werden - beispielsweise für Runlevel 3:

# ln -s /sbin/init.d/secsh /sbin/rc3.d/S99secsh.rc

Es kann vorkommen, dass nach einem Reboot SSH nicht gestartet werden kann, da der Zufallsgenerator-Dienst (prngd) noch nicht gestartet wurde - SSH benötigt diesen und kann daher nicht gestartet werden. Ich hatte diesen Effekt bei HP-UX 11.11 - im Boot-Log (/var/adm/rc.log) kann das Ganze wie folgt aussehen:

# less /var/adm/rc.log
...
Starting HP-UX Secure Shell
Output from "/sbin/rc2.d/S393secsh start":
----------------------------
Could not obtain seed from PRNGd
EXIT CODE: 255
"/sbin/rc2.d/S393secsh start" FAILED
...
Starting PRNGD (Pseudo Random Number Generator Daemon)
Output from "/sbin/rc3.d/S99prngd.rc start":
----------------------------
PRNGD (Pseudo Random Number Generator Daemon) started

Hier hilft das Anpassen der Reihenfolge, damit SSH zuletzt gestartet wird:

# cd /sbin/rc3.d
# mv S99prngd.rc S90prngd.rc
# ls -l /sbin/rc3.d/S9*
lrwxr-xr-x   1 root       sys             21 Apr  2 20:30 /sbin/rc3.d/S90prngd.rc -> /sbin/init.d/prngd.rc
lrwxrwxrwx   1 root       sys             18 Apr  5 12:31 /sbin/rc3.d/S99secsh -> /sbin/init.d/secsh
...

Wichtig ist auch, dass die Konfigurationsdatei des SSH-Dienstes auch einen Start von SSH veranlasst:

# cat /etc/rc.config.d/sshd
# SSHD_START:           Set to 1 to start SSH daemon
# SSHD_ARGS:            Command line arguments to pass to sshd
#
SSHD_START=1
SSHD_ARGS=
SSHD_UMASK=000          #The acceptable values of this variable are found by doing man umask

Die Variable SSHD_START muss den Wert 1 enthalten, damit der Dienst beim Booten gestartet wird.