OpenSSH-9.6p1

Introduksjon til OpenSSH

OpenSSH pakken inneholder ssh klienter og sshd nissen. Dette er nyttig for kryptering av autentisering og påfølgende trafikk over et nettverk. ssh og scp kommandoene er sikre implementeringer av telnet og rcp henholdsvis.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.1 plattform.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz

  • Nedlasting MD5 sum: 5e90def5af3ffb27e149ca6fff12bef3

  • Nedlastingsstørrelse: 1.8 MB

  • Estimert diskplass som kreves: 45 MB (legg til 22 MB for tester)

  • Estimert byggetid: 0.2 SBU (Bruker parallellisme=4; å kjøre testene tar omtrent 20 minutter, uavhengig av prosessorhastighet)

OpenSSH Avhengigheter

Valgfri

GDB-14.1 (for tester), Linux-PAM-1.6.0 (PAM konfigurasjonsfiler fra Shadow-4.14.5 brukes til å lage openssh sine), Xorg Applikasjoner (eller Xorg build environment, se Parameterforklaringer), MIT Kerberos V5-1.21.2, Which-2.21 (for tester), libedit, LibreSSL Portable, OpenSC, og libsectok

Valgfri kjøretid (brukes kun for å samle entropi)

Net-tools-2.10, og Sysstat-12.7.5

Installasjon av OpenSSH

OpenSSH kjører som to prosesser ved tilkobling til andre datamaskiner. Den første prosessen er en privilegert prosess og kontroller utstedelse av privilegier etter behov. Den andre prosessen kommuniserer med nettverket. Ytterligere installasjonstrinn er nødvendig for å sette opp det riktige miljøet, som utføres ved å kjøre følgende kommandoer som root bruker:

install -v -g sys -m700 -d /var/lib/sshd &&

groupadd -g 50 sshd        &&
useradd  -c 'sshd PrivSep' \
         -d /var/lib/sshd  \
         -g sshd           \
         -s /bin/false     \
         -u 50 sshd

Installer OpenSSH ved å kjøre følgende kommandoer:

./configure --prefix=/usr                            \
            --sysconfdir=/etc/ssh                    \
            --with-privsep-path=/var/lib/sshd        \
            --with-default-path=/usr/bin             \
            --with-superuser-path=/usr/sbin:/usr/bin \
            --with-pid-dir=/run                      &&
make

For å teste resultatene, kjør: make -j1 tests.

Nå, som root bruker:

make install &&
install -v -m755    contrib/ssh-copy-id /usr/bin     &&

install -v -m644    contrib/ssh-copy-id.1 \
                    /usr/share/man/man1              &&
install -v -m755 -d /usr/share/doc/openssh-9.6p1     &&
install -v -m644    INSTALL LICENCE OVERVIEW README* \
                    /usr/share/doc/openssh-9.6p1

Parameterforklaringer

--sysconfdir=/etc/ssh: Dette forhindrer at konfigurasjonsfiler blir installert i /usr/etc.

--with-default-path=/usr/bin og --with-superuser-path=/usr/sbin:/usr/bin: Dette setter PATH i samsvar med LFS og BLFS Shadow pakke.

--with-pid-dir=/run: Dette forhindrer OpenSSH fra å referere til utdaterte /var/run.

--with-pam: Denne parameteren aktiverer Linux-PAM støtte i bygget.

--with-xauth=$XORG_PREFIX/bin/xauth: Angi standard plassering for xauth binære for X autentisering. Miljøvariabelen XORG_PREFIX bør settes ved å følge Xorg build environment. Denne kan også styres fra sshd_config med nøkkelordet XAuthLocation. Du kan se bort fra denne bryteren hvis Xorg allerede er installert.

--with-kerberos5=/usr: Dette alternativet brukes til å inkludere Kerberos 5 støtte i bygget.

--with-libedit: Dette alternativet aktiverer linjeredigering og historiefunksjoner for sftp.

Konfigurere OpenSSH

Konfigurasjonsfiler

~/.ssh/*, /etc/ssh/ssh_config, og /etc/ssh/sshd_config

Det er ingen nødvendige endringer i noen av disse filene. Derimot, du ønsker kanskje å se /etc/ssh/ filer og lag eventuelle endringer som passer for sikkerheten til systemet ditt. En anbefalt endring er at du deaktiverer root innlogging via ssh. Utfør følgende kommando som root bruker for å deaktivere root innlogging via ssh:

echo "PermitRootLogin no" >> /etc/ssh/sshd_config

Hvis du vil kunne logge inn uten å skrive inn passordet ditt, først opprett ~/.ssh/id_rsa og ~/.ssh/id_rsa.pub med ssh-keygen og kopier deretter ~/.ssh/id_rsa.pub til ~/.ssh/authorized_keys på den eksterne datamaskinen du vil logge på. Du må endre REMOTE_USERNAME og REMOTE_HOSTNAME for brukernavnet og vertsnavnet til den eksterne datamaskin, og du må også skrive inn passordet for kommandoen ssh-copy-id for å lykkes:

ssh-keygen &&
ssh-copy-id -i ~/.ssh/id_ed25519.pub REMOTE_USERNAME@REMOTE_HOSTNAME

Når du først har fått passordløse pålogginger til å fungere, er det faktisk sikrere enn å logge på med et passord (da den private nøkkelen er mye lengre enn de flestes passord). Hvis du vil deaktivere passordpålogginger, som root bruker:

echo "PasswordAuthentication no" >> /etc/ssh/sshd_config &&
echo "KbdInteractiveAuthentication no" >> /etc/ssh/sshd_config

Hvis du har lagt til Linux-PAM støtte og du ønsker at ssh bruker den, må du legge til en konfigurasjonsfil for sshd og muliggjør bruk av LinuxPAM. Merk at ssh bare bruker PAM for å sjekke passord, hvis du har deaktivert passordpålogging er ikke behov for disse kommandoene. Hvis du vil bruke PAM, utfør følgende kommandoer som root bruker:

sed 's@d/login@d/sshd@g' /etc/pam.d/login > /etc/pam.d/sshd &&
chmod 644 /etc/pam.d/sshd &&
echo "UsePAM yes" >> /etc/ssh/sshd_config

Ytterligere konfigurasjonsinformasjon finnes i mansider for sshd, ssh og ssh-agent.

Systemd Enhet

For å starte SSH serveren ved systemoppstart, installer sshd.service enheten inkludert i blfs-systemd-units-20240205 pakken.

make install-sshd

Innhold

Installerte Programmer: scp, sftp, ssh, ssh-add, ssh-agent, ssh-copy-id, ssh-keygen, ssh-keyscan, og sshd
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/ssh, /usr/share/doc/openssh-9.6p1, og /var/lib/sshd

Korte Beskrivelser

scp

er et filkopieringsprogram som fungerer som rcp unntatt at den bruker en kryptert protokoll

sftp

er et FTP lignende program som fungerer over SSH1 og SSH2 protokollene

ssh

er en rlogin/rsh lignende klientprogram bortsett fra at det bruker en kryptert protokoll

sshd

er en nisse som lytter etter ssh påloggingsforespørsler

ssh-add

er et verktøy som legger til nøkler til ssh-agent

ssh-agent

er en autentiseringsagent som kan lagre private nøkler

ssh-copy-id

er et skript som muliggjør pålogging på eksterne maskiner ved hjelp av lokale nøkler

ssh-keygen

er et nøkkelgenereringsverktøy

ssh-keyscan

er et verktøy for å samle offentlige vertsnøkler fra en rekke verter