Die einzelnen Komponenten des Software-Pakets interNet Services werden als ein POSIX-Programmpaket per Package-Installation mit dem POSIX-Installationsprogramm installiert (siehe Handbuch „POSIX Grundlagen für Anwender und Systemverwalter“).
Zur Installation und zum Betrieb der OpenSSH-Suite muss die PLAM-Bibliothek SINLIB.TCP-IP-SV.nnn.OPENSSH shareable zur Verfügung stehen.
/START-POSIX-INSTALLATION
Funktion: POSIX-Programmpakete installieren (IMON-Unterstützung: Y)
Produktname: TCP-IP-SV
Paketname: OPENSSH
Wenn Sie OpenSSH mit dem POSIX-Installationsprogramm installieren, werden Sie zunächst nach dem Installationspfad <installationspfad> gefragt. Es empfiehlt sich, die Voreinstellung /opt/TCP-IP-SV/openssh zu verwenden. Wenn Sie einen anderen Pfadnamen angeben, wird bei der Durchführung des Post-Installation-Skripts (siehe unten) der Pfad /opt/TCP-IP-SV/openssh als symbolischer Link auf den von Ihnen spezifizierten Pfadnamen angelegt.
Anschließend prüft das POSIX-Installationsprogramm das /opt-Dateisystem auf ausreichenden Speicherplatz und spielt alle Dateien aus der PLAM-Bibliothek ins POSIX-Dateisystem ein.
Ablauf des Post-Installation-Skripts
Nachdem alle Dateien eingespielt sind, wird automatisch ein Post-Installation-Skript gestartet, das die rechner-spezifische Einrichtung der OpenSSH-Komponenten abwickelt.
Im Einzelnen führt das Post-Installation-Skript die folgenden Schritte durch und protokolliert die Ausführung dieser Schritte auf der Konsole:
Die Verzeichnisse /etc/tcpipsv/openssh, /opt/SMAWPlus/etc und /usr/local/etc werden nach SSH-Host-Key-Dateien einer früheren Installation von TCP-IP-SV:openssh durchsucht. Die jeweils erste Host-Key-Datei (sofern vorhanden) jedes Verzeichnisses wird in das Verzeichnis /etc/ssh/ übernommen.
Gesucht wird nach den folgenden Paaren von Host-Key-Dateien (privater/öffentlicher Schlüssel):
ssh_host_rsa_key und ssh_host_rsa_key.pub (RSA)
ssh_host_dsa_key und ssh_host_dsa_key.pub (DSA)
ssh_host_ecdsa_key und ssh_host_ecdsa_key.pub (ECDSA)
ssh_host_ed25519_key und ssh_host_ed25519_key.pub (Ed25519)
Das Verzeichnis /etc/tcpipsv/openssh wird nach den ssh- und sshd-Konfigurationsdateien (ssh_config, sshd_config) einer früheren Installation von TCP-IP-SV:openssh durchsucht. Kann keine Konfigurationsdatei gefunden werden, so wird die mit dem Produkt ausgelieferte Konfigurationsdatei kopiert.
Das Verzeichnis /var/run wird, sofern es noch nicht existiert, generiert, da es für die Prozess-ID-Datei des OpenSSH Servers sshd benötigt wird.
Falls Sie bei der Installation einen vom Standard-Installationspfad /opt/TCP-IP-SV/openssh abweichenden Installationspfad angegeben haben, wird in den Startup-Skripts der Standard-Installationspfad in den von Ihnen spezifizierten Installationspfad geändert, und /opt/TCP-IP-SV/openssh wird als symbolischer Link auf diesen Installationspfad eingerichtet.
Wenn in Schritt 1) nicht alle Host-Key-Dateien gefunden wurden, werden diese nun erzeugt. Zu diesem Zweck wird das Utility ssh-keygen (siehe Handbuch „interNet Services Benutzerhandbuch“) bis zu vier Mal aufgerufen (für RSA, DSA, ECDSA und Ed25519), um einen nicht wiederholbaren zufälligen Host-Key zu erzeugen.
Wenn keine POSIX-Gruppe mit der Group-Id 22 existiert, wird diese nun erzeugt und mit dem Gruppennamen „sshd“ in die Datei /etc/group eingetragen.
Wenn noch keine Benutzerkennung SYSSSHD existiert, legt das Post-Installations-Skript diese nun an. Außerdem wird ein Address-Space-Limit von 32 MB vereinbart sowie eine POSIX User-Id 22 und eine POSIX Group-Id 22 zugewiesen. Zu diesem Zweck setzt das Post-Installations-Skript die folgenden Kommandos ab:
/ADD-USER USER-ID=SYSSSHD,ADDR-SP-LIM=32,/ ACC-ATT=*P(ACC=SYSACC,CPU-LIM=*MAX,POSIX=*YES),/ MAIL-ADDR='Privilege Separation user id for OpenSSH',/ LOGON-PASSWORD=${PASSWORD} /SET-JOB-STEP /MOD-USER USER-ID=SYSSSHD,ADDR-SP-LIM=32,/ ACC-ATT=*M(ACC=SYSACC,CPU-LIM=*MAX,POSIX=*YES),/ LOGON-PASSWORD=${PASSWORD} /MOD-POS-USER-ATTR USER-ID=SYSSSHD,USER-N=22,GROUP-N=22,/ DIRECTORY='/var/empty',/ PROGRAM='/bin/false',/ COMM='Privilege Separation user id for OpenSSH'
In der Startup-Datei /etc/profile der POSIX-Shell wird die PATH-Angabe erweitert auf das Verzeichnis <installationspfad>/bin (sowie <installationspfad>/sbin für den Benutzer mit der User-Id 0 (SYSROOT bzw. TSOS)). Falls eine C-Shell (csh oder tcsh) installiert ist, wird mit der csh-Startup-Datei (/etc/.login bzw. /etc/csh.login) analog verfahren.
Im Falle von ADDRESS-SPACE-LIMIT < 32 MB für SYSROOT wird eine Warnung auf Konsole ausgegeben.
Falls kein POSIX-RLOGIN-DEFAULT für SYSROOT gesetzt ist, wird eine entsprechende Fehlermeldung auf Konsole ausgegeben.
Falls für die Installationsbibliothek (z.B. SINLIB.TCP-IP-SV.nnn.OPENSSH) keine allgemeine Leseberechtigung besteht, wird eine entsprechende Fehlermeldung auf Konsole ausgegeben.
Falls keine schwerwiegenden Fehler entdeckt wurden, wird abhängig von der Beantwortung der Installationsabfrage AutoStartOpenSSH das allgemeine POSIX-Start-Skript für OpenSSH aufgerufen, das den sshd-Dämon unter SYROOT startet. (Aufruf des POSIX-Start-Skripts:
/etc/init.d/TCP-IP-SV.openssh start
)
Das Skript/etc/init.d/TCP-IP-SV.openssh start
bestimmt automatisch die für SYSROOT maximal zulässigen Werte für JOB-CLASS, ACCOUNT, START und CPU LIMIT. Mit diesen Werten startet das Skript einen ENTER-Job mit dem Job-Namen SSHLOGIN
Der sshd-Dämon protokolliert wichtige Meldungen per syslog-Mechanismus in die Datei /var/adm/syslog. Zusätzlich werden Probleme, die beim Start des ENTER-Jobs auftreten, in die Datei /var/adm/opensshd_startup.log geschrieben.
Der sshd-Dämon benötigt keine individuelle Konfiguration und kann somit automatisch gestartet werden.