Kapitel 6. Nätverkstillämpningar

# Kapitel 6. Nätverkstillämpningar

När du har upprättat en nätverksanslutning (se Kapitel 5, Nätverkskonfiguration) kan du köra olika nätverksprogram.

| Tips
För en modern Debian-specifik guide till nätverksinfrastrukturen, läs The Debian Administrator's Handbook - Network Infrastructure.

| Tips
Om du har aktiverat "2-stegsverifiering" hos någon Internetleverantör måste du skaffa ett programlösenord för att få tillgång till POP- och SMTP-tjänster från ditt program. Du kan behöva godkänna din värd-IP i förväg.

## 6.1. Webbläsare

Det finns många webbläsarpaket för att komma åt fjärrinnehåll med Hypertext Transfer Protocol (HTTP).

Tabell 6.1. Lista över webbläsare

paket | popcon | storlek | typ | beskrivning av webbläsare
--- | --- | --- | --- | ---
`chromium` | V:30, I:99 | 316808 | X | Chromium, (webbläsare med öppen källkod från Google)
`firefox` | V:16, I:22 | 299491 | , , | Firefox, (webbläsare med öppen källkod från Mozilla, endast tillgänglig i Debian Unstable)
`firefox-esr` | V:195, I:421 | 266258 | , , | Firefox ESR, (Firefox Extended Support Release)
`epiphany-browser` | V:2, I:11 | 6666 | , , | GNOME, HIG-kompatibel, Epiphany
`konqueror` | V:25, I:112 | 7982 | , , | KDE, Konqueror
`dillo` | V:0.5, I:4.3 | 2203 | , , | Dillo, (lättviktig webbläsare, FLTK-baserad )
`w3m` | V:10, I:134 | 2853 | text | w3m
`lynx` | V:29, I:448 | 2031 | , , | Lynx
`elinks` | V:3, I:16 | 1791 | , , | ELinks
`links` | V:2, I:21 | 2321 | , , | Länkar (endast text)
`links2` | V:0.8, I:8.6 | 5466 | grafik | Länkar (konsolgrafik utan X)

### 6.1.1. Förfalskning av User-Agent-strängen

För att få tillgång till vissa alltför restriktiva webbplatser kan du behöva förfalska User-Agent-strängen som returneras av webbläsarprogrammet. Se här:

- MDN Webbdokument: userAgent
- Chrome-utvecklare: Åsidosätt strängen för användaragent
- Så här ändrar du din användaragent
- Så här ändrar du User-Agent i Chrome, Firefox, Safari m.fl
- Så här ändrar du webbläsarens användaragent utan att installera några tillägg
- Så här ändrar du användaragenten i Gnome Web (epiphany)

### 6.1.2. Tillägg till webbläsare

Alla moderna GUI-webbläsare stöder källkodsbaserade webbläsartillägg och de håller på att standardiseras som webbtillägg.

## 6.2. E-postsystemet

Detta avsnitt fokuserar på typiska mobila arbetsstationer med Internetanslutningar av konsumentkvalitet.

| Observera
Om du ska konfigurera e-postservern så att den kan utbyta e-post direkt med Internet, bör du läsa detta elementära dokument.

### 6.2.1. Grunderna i e-post

Ett e-postmeddelande består av tre komponenter: kuvertet, meddelandehuvudet och meddelandetexten.

- Informationen "To" och "From" i meddelandekuvertet används av SMTP för att leverera e-postmeddelandet. (Informationen "From" i meddelandekuvertet kallas även avvisningsadress, From_, etc.).

- Informationen "Till" och "Från" i meddelanderubriken visas av e-postklienten. (Det är vanligast att dessa är desamma som i meddelandekuvertet, men så är inte alltid fallet)

- E-postmeddelandets format, som omfattar rubrik- och brödtextdata, utökas med MIME (Multipurpose Internet Mail Extensions) från vanlig ASCII-text till andra teckenkodningar, samt bilagor med ljud, video, bilder och applikationsprogram.

GUI-baserade e-postklienter med full funktionalitet erbjuder alla följande funktioner med hjälp av GUI-baserad intuitiv konfiguration.

- Den skapar och tolkar meddelandets rubrik- och brödtextdata med hjälp av MIME (Multipurpose Internet Mail Extensions) för att hantera innehållets datatyp och kodning.

- Den autentiserar sig mot ISP:s SMTP- och IMAP-servrar med hjälp av äldre grundläggande åtkomstautentisering eller modern OAuth 2.0. (För OAuth 2.0 ställer du in det via inställningarna för skrivbordsmiljön. T.ex. "Inställningar" -> "Onlinekonton")

- Den skickar meddelandet till ISP:s smarthost SMTP-server som lyssnar på porten för meddelandeinlämning (587).

- Den tar emot det lagrade meddelandet på ISP:s server från TLS/IMAP4-porten (993).

- Det kan filtrera e-postmeddelanden efter deras attribut.

- Det kan erbjuda ytterligare funktioner: Kontakter, Kalender, Uppgifter, Memon.

Tabell 6.2. Lista över användaragenter för e-post (MUA)

paket | popcon | storlek | typ
--- | --- | --- | ---
`evolution` | V:25, I:225 | 489 | X GUI program (GNOME, groupware suite)
`thunderbird` | V:41, I:103 | 274581 | X GUI-program (GTK, Mozilla Thunderbird)
`kmail` | V:43, I:103 | 25265 | X GUI-program (KDE)
`mutt` | V:11, I:86 | 7334 | terminalprogram med tecken som troligen används med `vim`
`mew` | V:0.01, I:0.16 | 2319 | teckenterminalprogram under `(x)emacs`

### 6.2.2. Begränsning av modern postservice

Moderna e-posttjänster är underkastade vissa begränsningar för att minimera exponeringen för spam (oönskad och oönskad e-post).

- Det är inte realistiskt att köra en SMTP-server i ett konsumentnätverk för att skicka e-post direkt till en fjärrvärd på ett tillförlitligt sätt.

- Ett mail kan avvisas av alla värdar på väg till destinationen om det inte verkar så autentiskt som möjligt.

- Det är inte realistiskt att förvänta sig att ett enda smarthost på ett tillförlitligt sätt ska skicka e-postmeddelanden med orelaterade källadresser till fjärrvärden.

Detta beror på att:

- SMTP-port (25)-anslutningar från värdar som betjänas av konsumentnätverket till Internet blockeras.

- SMTP-port (25)-anslutningar till värdar som betjänas av konsumentnätverket från Internet blockeras.

- Utgående meddelanden från värddatorer som betjänas av konsumentnätverket till Internet kan endast skickas via porten för meddelandeinlämning (587).

- Antispamtekniker som DKIM (DomainKeys Identified Mail), SPF (Sender_Policy_Framework) och DMARC (Domain-based Message Authentication, Reporting and Conformance ) används ofta för filtrering av e-post.

- Tjänsten DomainKeys Identified Mail kan tillhandahållas för din e-post som skickas via smarthost.

- Smarthost kan skriva om källadressen i meddelanderubriken till ditt e-postkonto på smarthost för att förhindra att e-postadresser förfalskas.

### 6.2.3. Historisk förväntan på postservice

Vissa program på Debian förväntar sig att få tillgång till kommandot `/usr/sbin/sendmail` för att skicka e-postmeddelanden som standard eller anpassad inställning eftersom e-posttjänsten på ett UNIX-system historiskt fungerade på samma sätt:

- Ett e-postmeddelande skapas som en textfil.

- E-postmeddelandet överlämnas till kommandot `/usr/sbin/sendmail`.

- För destinationsadressen på samma värd gör kommandot `/usr/sbin/sendmail` en lokal leverans av e-postmeddelandet genom att lägga till det i filen `/var/mail/$username`.

  - Kommandon som förväntar sig denna funktion: `apt-listchanges`, `cron`, `at`, ...

- För destinationsadressen på fjärrvärden gör kommandot `/usr/sbin/sendmail` en fjärröverföring av e-postmeddelandet till den destinationsvärd som hittas genom DNS MX-posten med hjälp av SMTP.

  - Kommandon som förväntar sig denna funktion: `popcon`, `reportbug`, `bts`, ...

### 6.2.4. Transportagent för post (MTA)

Debians mobila arbetsstationer kan konfigureras med GUI-baserade e-postklienter med fullständiga funktioner utan MTA-program (Mail Transfer Agent) efter Debian 12 Bookworm.

Debian installerade traditionellt något MTA-program för att stödja program som förväntar sig kommandot `/usr/sbin/sendmail`. Sådana MTA på mobila arbetsstationer måste klara av Avsnitt 6.2.2, ”Begränsning av modern postservice” och Avsnitt 6.2.3, ”Historisk förväntan på postservice”.

För mobila arbetsstationer är det typiska valet av MTA antingen `exim4-daemon-light` eller `postfix` med installationsalternativet "Mail sent by smarthost; received via SMTP or fetchmail" valt. Dessa är lätta MTA:er som respekterar "`/etc/aliases`".

| Tips
Att konfigurera `exim4` för att skicka e-post via Internet via flera motsvarande smarthosts för flera e-postadresser är inte trivialt. Om du behöver en sådan funktion för vissa program kan du ställa in dem så att de använder `msmtp`, som är enkelt att ställa in för flera e-postadresser. Lämna sedan huvud-MTA endast för en enda e-postadress.

Tabell 6.3. Lista över relaterade paket för transportagent för grundläggande post

paket | popcon | storlek | beskrivning
--- | --- | --- | ---
`exim4-daemon-light` | V:207, I:215 | 1768 | Exim4 transportagent för e-post (MTA: Debians standard)
`exim4-daemon-heavy` | V:5.1, I:5.2 | 1950 | Exim4 mail transport agent (MTA: flexibelt alternativ)
`exim4-base` | V:213, I:221 | 1677 | Exim4-dokumentation (text) och gemensamma filer
`exim4-doc-html` | I:1.1 | 3798 | Exim4-dokumentation (html)
`exim4-doc-info` | I:0.57 | 648 | Exim4-dokumentation (info)
`postfix` | V:103, I:110 | 4268 | Postfix mail transport agent (MTA: säkert alternativ)
`postfix-doc` | I:4.6 | 5026 | Dokumentation om Postfix (html+text)
`sasl2-bin` | V:5, I:10 | 381 | Cyrus SASL API-implementering (kompletterar postfix för SMTP AUTH)
`cyrus-sasl2-doc` | I:0.71 | 2140 | Cyrus SASL - dokumentation
`msmtp` | V:8, I:15 | 822 | Lättvikts MTA
`msmtp-mta` | V:6.8, I:8.9 | 139 | Lättviktig MTA (sendmail-kompatibilitetstillägg till `msmtp`)
`nullmailer` | V:7.7, I:8.2 | 483 | Avveckla MTA, ingen lokal post
`ssmtp` | V:4.0, I:6.2 | 134 | Avveckla MTA, ingen lokal post
`sendmail-bin` | V:10, I:11 | 1954 | Fullständig MTA (endast om du redan är bekant)
`git-email` | V:0.4, I:9.9 | 1229 | git-send-email(1) program för att skicka en serie patch-e-postmeddelanden

#### 6.2.4.1. Konfigurationen av exim4

För Internet-post via smarthost (om)konfigurerar du `exim4-*-paketen` enligt följande.

    $ sudo systemctl stop exim4
    $ sudo dpkg-reconfigure exim4-config

Välj "mail skickas av smarthost; tas emot via SMTP eller fetchmail" för "Allmän typ av e-postkonfiguration".

Ställ in "System mail name:" på standardvärdet för FQDN (se Avsnitt 5.1.1, ”Upplösning av värdnamn”).

Ställ in "IP-adresser att lyssna på för inkommande SMTP-anslutningar:" till standardvärdet "127.0.0.1 ; ::1".

Innehållet i "Andra destinationer för vilka post accepteras:" har inte angetts.

Ej fastställt innehåll i "Maskiner att vidarebefordra e-post till:".

Ställ in "IP-adress eller värdnamn för utgående smarthost:" till "smtp.hostname.dom:587".

Välj "No" för "Hide local mail name in outgoing mail?". (Använd "`/etc/email-addresses`" som i Avsnitt 6.2.4.3, ”Konfiguration av e-postadresser”, istället)

Svara på "Håll antalet DNS-förfrågningar minimalt (Dial-on-Demand)?" med något av följande.

- "Nej" om systemet är anslutet till Internet under uppstart.

- "Yes" om systemet inte är anslutet till Internet när det startas.

Ställ in "Leveransmetod för lokal e-post:" till "mbox-format i /var/mail/".

Välj "Yes" för "Split configuration into small files?:".

Skapa lösenordsinmatningar för smarthost genom att redigera "`/etc/exim4/passwd.client`".

    $ sudo vim /etc/exim4/passwd.client
     ...
    $ cat /etc/exim4/passwd.client
    ^smtp.*\.hostname\.dom:username@hostname.dom:password

Konfigurera exim4(8) med "`QUEUERUNNER='queueonly'`", "`QUEUERUNNER='nodaemon`'", etc. i "`/etc/default/exim4`" för att minimera användningen av systemresurser. (valfritt)

Starta `exim4` på följande sätt.

    $ sudo systemctl start exim4

Värdnamnet i "`/etc/exim4/passwd.client`" ska inte vara aliaset. Du kontrollerar det riktiga värdnamnet med följande.

    $ host smtp.hostname.dom
    smtp.hostname.dom is an alias for smtp99.hostname.dom.
    smtp99.hostname.dom has address 123.234.123.89

Jag använder regex i "`/etc/exim4/passwd.client`" för att komma runt aliasproblemet. SMTP AUTH fungerar förmodligen även om ISP:n flyttar värden som pekas ut av aliaset.

Du kan uppdatera `exim4-konfigurationen` manuellt på följande sätt:

- Uppdatera `exim4-konfigurationsfilerna` i "`/etc/exim4/`".

  - skapa "`/etc/exim4/exim4.conf.localmacros`" för att ställa in MACROs och redigera "`/etc/exim4/exim4.conf.template`". (icke-splitad konfiguration)

  - skapa nya filer eller redigera befintliga filer i underkatalogerna "`/etc/exim4/exim4.conf.d`". (delad konfiguration)

- Kör "`systemctl reload exim4`".

| Observera
Det tar lång tid att starta `exim4` om "No" (standardvärde) valdes för debconf-frågan "Keep number of DNSqueries minimal (Dial-on-Demand)?" och systemet inte är anslutet till Internet under uppstarten.

Vänligen läs den officiella guiden på: "`/usr/share/doc/exim4-base/README.Debian.gz`" och update-exim4.conf(8).

| Varning
Av praktiska skäl bör du använda SMTP med STARTTLS på port 587 eller SMTPS (SMTP over SSL) på port 465 i stället för vanlig SMTP på port 25.

#### 6.2.4.2. Konfiguration av postfix med SASL

För internetpost via smarthost bör du först läsa postfix-dokumentationen och viktiga manualer.

Tabell 6.4. Lista över viktiga sidor i postfix-manualen

kommando | funktion
--- | ---
postfix(1) | Postfix kontrollprogram
postconf(1) | Verktyg för konfiguration av Postfix
postconf(5) | Parametrar för konfiguration av Postfix
postmap(1) | Underhåll av Postfix uppslagstabell
postalias(1) | Underhåll av Postfix aliasdatabas

Du (om)konfigurerar `postfix-` och `sasl2-bin-paketen` enligt följande.

    $ sudo systemctl stop postfix
    $ sudo dpkg-reconfigure postfix

Välj "Internet med smarthost".

Ställ in "SMTP relay host (blank for none):" till "`[smtp.hostname.dom]:587`" och konfigurera den enligt följande.

    $ sudo postconf -e 'smtp_sender_dependent_authentication = yes'
    $ sudo postconf -e 'smtp_sasl_auth_enable = yes'
    $ sudo postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd'
    $ sudo postconf -e 'smtp_sasl_type = cyrus'
    $ sudo vim /etc/postfix/sasl_passwd

Skapa lösenordsinmatningar för smarthost.

    $ cat /etc/postfix/sasl_passwd
    [smtp.hostname.dom]:587     username:password
    $ sudo postmap hush:/etc/postfix/sasl_passwd

Starta `postfixet` genom att göra följande.

    $ sudo systemctl start postfix

Här säkerställer användningen av "`[`" och "`]`" i dialogrutan `dpkg-reconfigure` och "`/etc/postfix/sasl_passwd`" att MX-poster inte kontrolleras utan att det exakta angivna värdnamnet används direkt. Se "Aktivering av SASL-autentisering i Postfix SMTP-klient" i "`/usr/share/doc/postfix/html/SASL_README.html`".

#### 6.2.4.3. Konfiguration av e-postadresser

Det finns några konfigurationsfiler för postadresser för posttransport, leverans och användaragenter.

Tabell 6.5. Lista över konfigurationsfiler relaterade till e-postadresser

fil | funktion | ansökan
--- | --- | ---
`/etc/mailname` | standardvärdnamn för (utgående) e-post | Debian-specifik, mailname(5)
`/etc/email-addresses` | spoofing av värdnamn för utgående e-post | exim(8) specifik, exim4-config_files(5)
`/etc/postfix/generic` | spoofing av värdnamn för utgående e-post | postfix(1)-specifik, aktiveras efter att kommandot postmap(1) har körts.
`/etc/aliases` | kontonamn alias för inkommande e-post | general, aktiverad efter newaliases(1) orderutförande.

E-postnamnet i filen "`/etc/mailname`" är vanligtvis ett fullständigt kvalificerat domännamn (FQDN) som kan härledas till en av värdens IP-adresser. För den mobila arbetsstationen som inte har ett värdnamn med en IP-adress som går att koppla till, ställer du in det här e-postnamnet till värdet i "hostname`-f`". (Detta är ett säkert val och fungerar för både `exim4-*` och `postfix`)

| Tips
Innehållet i "`/etc/mailname`" används av många icke-MTA-program för deras standardbeteende. För `mutt`, ställ in variablerna "`hostname`" och "`from`" i filen `~/muttrc` för att åsidosätta mailname-värdet. För program i `devscripts-paketet`, till exempel bts(1) och dch(1), exportera miljövariablerna "`$DEBFULLNAME`" och "`$DEBEMAIL`" för att åsidosätta det.

| Tips

Paketet `popularity-contest` skickar normalt e-post från rotkontot med FQDN. Du måste ställa in `MAILFROM` i `/etc/popularity-contest.conf` enligt beskrivningen i filen `/usr/share/popularity-contest/default.conf.` Annars kommer din e-post att avvisas av SMTP-servern hos smarthost. Även om det här är tråkigt är det här tillvägagångssättet säkrare än att skriva om källadressen för alla e-postmeddelanden från root av MTA och bör användas för andra daemoner och cron-skript.

När du ställer in e-postnamnet till "`hostname -f`" kan förfalskningen av källpostadressen via MTA realiseras på följande sätt.

- filen "`/etc/email-addresses`" för exim4(8) enligt förklaring i exim4-config_files(5)

- "`/etc/postfix/generic`" fil för postfix(1) enligt förklaring i generic(5)

För `postfix` krävs följande extra steg.

    # postmap hash:/etc/postfix/generic
    # postconf -e 'smtp_generic_maps = hash:/etc/postfix/generic'
    # postfix reload

Du kan testa konfigurationen av e-postadresser på följande sätt.

- exim(8) med alternativen `-brw, -bf, -bF, -bV, ..`

- postmap(1) med alternativet `-q`.

| Tips
Exim levereras med flera verktygsprogram, t.ex. exiqgrep(8) och exipick(8). Se "`dpkg -L exim4-base|grep man8/`" för tillgängliga kommandon.

#### 6.2.4.4. Grundläggande MTA-verksamhet

Det finns flera grundläggande MTA-operationer. Vissa kan utföras via sendmail(1) kompatibilitetsgränssnitt.

Tabell 6.6. Lista över grundläggande MTA-funktioner

exim-kommando | postfix-kommando | beskrivning
--- | --- | ---
`sendmail` | `sendmail` | läsa e-post från standardinmatning och ordna med leverans`(-bm)`
`mailq` | `mailq` | lista e-postkön med status och kö-ID`(-bp)`
`newaliases` | `newaliases` | initiera aliasdatabasen`(-I)`
`exim4 -q` | `postqueue -f` | spola fram väntande e-postmeddelanden`(-q)`
`exim4 -qf` | `postsuper -r ALL deferred; postqueue -f` | spola alla e-postmeddelanden
`exim4 -qff` | `postsuper -r ALL; postqueue -f` | spola även frysta mejl
`exim4 -Mg queue_id` | `postsuper -h queue_id` | frysa ett meddelande med dess kö-ID
`exim4 -Mrm queue_id` | `postsuper -d queue_id` | ta bort ett meddelande med hjälp av dess kö-ID
N/A | `postsuper -d ALL` | ta bort alla meddelanden

| Tips
Det kan vara en bra idé att spola alla e-postmeddelanden med ett skript i "`/etc/ppp/ip-up.d/*`".

## 6.3. Server och verktyg för fjärråtkomst (SSH)

Secure SHell (SSH) är ett säkert sätt att ansluta via Internet. En gratisversion av SSH som heter OpenSSH finns som paketen `openssh-client` och `openssh-server` i Debian.

För användaren fungerar ssh(1) som ett smartare och säkrare telnet(1). Till skillnad från `telnet-kommandot` stoppas inte `ssh-kommandot` av `telnets` escape-tecken (standardinställning CTRL-]).

Tabell 6.7. Lista över server och verktyg för fjärråtkomst

paket | popcon | storlek | verktyg | beskrivning
--- | --- | --- | --- | ---
`openssh-client` | V:657, I:996 | 3521 | ssh(1) | Säker shell-klient
`openssh-server` | V:772, I:820 | 3594 | sshd(8) | Server för säkert skal
`ssh-askpass` | I:16 | 103 | ssh-askpass(1) | ber användaren om en lösenordsfras för ssh-add (vanlig X)
`ssh-askpass-gnome` | V:0.4, I:3.0 | 46 | ssh-askpass-gnome(1) | ber användaren om en lösenordsfras för ssh-add (GNOME)
`ssh-askpass-fullscreen` | V:0.09, I:0.42 | 41 | `ssh-askpass-fullskärm`(1) | ber användaren om en lösenordsfras för ssh-add (GNOME) med extra ögonfägnad
`shellinabox` | V:0.7, I:1.0 | 528 | shellinaboxd(1) | webbserver för webbläsartillgänglig VT100 terminalemulator

Även om `shellinabox` inte är ett SSH-program, listas det här som ett intressant alternativ för fjärråtkomst till terminaler.

Se även Avsnitt 7.9, ”Anslutning till X-server” för anslutning till fjärrstyrda X-klientprogram.

| Observera
Se Avsnitt 4.6.3, ”Extra säkerhetsåtgärder för Internet” om din SSH är tillgänglig från Internet.

| Tips
Använd programmet screen(1) för att göra det möjligt för fjärrskalprocessen att överleva den avbrutna anslutningen (se Avsnitt 9.1.2, ”Skärmprogrammet”).

### 6.3.1. Grunderna i SSH

OpenSSH SSH-daemon stöder endast SSH-protokoll 2.

Läs`"/usr/share/doc/openssh-client/README.Debian.gz`", ssh(1), sshd(8), ssh-keygen(1), ssh-add(1) och ssh-agent(1).

| Varning
"`/etc/ssh/sshd_not_to_be_run`" får inte finnas med om man vill köra OpenSSH-servern. Aktivera inte rhost-baserad autentisering`(HostbasedAuthentication` i `/etc/ssh/sshd_config`).

Tabell 6.8. Lista över SSH-konfigurationsfiler

konfigurationsfil | beskrivning av konfigurationsfil
--- | ---
`/etc/ssh/ssh_config` | Standardvärden för SSH-klient, se ssh_config(5)
`/etc/ssh/sshd_config` | Standardvärden för SSH-server, se sshd_config(5)
`~/.ssh/authorized_keys` | offentliga SSH-standardnycklar som klienter använder för att ansluta till det här kontot på den här SSH-servern
`~/.ssh/id_rsa` | användarens hemliga SSH-2 RSA-nyckel
`~/.ssh/id_key-type-name` | hemlig SSH-2-nyckel typ-namn-nyckel, t.ex. `ecdsa`, `ed25519`, ... för användaren

Följande startar en ssh(1)-anslutning från en klient.

Tabell 6.9. Lista över exempel på uppstart av SSH-klient

kommando | beskrivning
--- | ---
`ssh username@hostname.domain.ext` | anslut med standardläge
`ssh -v username@hostname.domain.ext` | ansluta med standardläge med felsökningsmeddelanden
`ssh -o PreferredAuthentications=password username@hostname.domain.ext` | tvinga att använda lösenord med SSH version 2
`ssh -t username@hostname.domain.ext passwd` | köra `passwd-programmet` för att uppdatera lösenordet på en fjärrvärd

### 6.3.2. Användarnamn på fjärrvärden

Om du använder samma användarnamn på den lokala värden och fjärrvärden kan du slippa skriva "`username@`".

Även om du använder olika användarnamn på den lokala värden och fjärrvärden kan du eliminera det med hjälp av "`~/.ssh/config`". För Debian Salsa-tjänsten med kontonamnet "`foo-guest`" ställer du in "`~/.ssh/config`" så att den innehåller följande.

    Host salsa.debian.org people.debian.org
    User foo-guest

### 6.3.3. Anslutning utan fjärrlösenord

Man kan undvika att behöva komma ihåg lösenord för fjärrsystem genom att använda "`PubkeyAuthentication`" (SSH-2-protokollet).

På fjärrsystemet ställer du in respektive poster, "`PubkeyAuthentication yes`", i "`/etc/ssh/sshd_config`".

Generera autentiseringsnycklar lokalt och installera den offentliga nyckeln på fjärrsystemet på följande sätt.

    $ ssh-keygen -t rsa
    $ cat .ssh/id_rsa.pub | ssh user1@remote "cat - >>.ssh/authorized_keys"

Du kan lägga till alternativ till posterna i "`~/.ssh/authorized_keys`" för att begränsa värdar och köra specifika kommandon. Se sshd(8) "AUTHORIZED_KEYS FILFORMAT".

### 6.3.4. Hantering av främmande SSH-klienter

Det finns några gratis SSH-klienter tillgängliga för andra plattformar.

Tabell 6.10. Lista över gratis SSH-klienter för andra plattformar

miljö | gratis SSH-program
--- | ---
Fönster | puTTY(PuTTY: en gratis SSH- och Telnet-klient) (GPL)
Windows (cygwin) | SSH i cygwin(Cygwin: Få den där Linux-känslan - i Windows) (GPL)
Mac OS X | OpenSSH; använd `ssh` i terminalprogrammet (GPL)

### 6.3.5. Konfigurera ssh-agent

Det är säkrare att skydda dina hemliga nycklar för SSH-autentisering med en lösenordsfras. Om en lösenordsfras inte har angetts kan du använda "`ssh-keygen -p`" för att ange den.

Placera din offentliga SSH-nyckel (t.ex. "`~/.ssh/id_rsa.pub`") i "`~/.ssh/authorized_keys`" på en fjärrvärd med hjälp av en lösenordsbaserad anslutning till fjärrvärden enligt beskrivningen ovan.

    $ ssh-agent bash
    $ ssh-add ~/.ssh/id_rsa
    Enter passphrase for /home/username/.ssh/id_rsa:
    Identity added: /home/username/.ssh/id_rsa (/home/username/.ssh/id_rsa)

Inget fjärrlösenord behövs från och med nu för nästa kommando.

    $ scp foo username@remote.host:foo

Tryck på ^D för att avsluta ssh-agent-sessionen.

För X-servern exekverar det normala Debian-startskriptet `ssh-agent` som den överordnade processen. Så du behöver bara köra `ssh-add` en gång. För mer information, läs ssh-agent(1) och ssh-add(1).

### 6.3.6. Skicka ett e-postmeddelande från en fjärrvärd

Om du har ett SSH-shellkonto på en server med korrekta DNS-inställningar kan du skicka ett e-postmeddelande som genereras på din arbetsstation som ett e-postmeddelande som verkligen skickas från fjärrservern.

    $ ssh username@example.org /usr/sbin/sendmail -bm -ti -f "username@example.org" < mail_data.txt

### 6.3.7. Portvidarebefordran för SMTP/POP3-tunnel

Om du vill upprätta en pipe för att ansluta till port 25 på `fjärrservern` från port 4025 på `localhost` och till port 110 på `fjärrservern` från port 4110 på `localhost` via `ssh`, kör du följande på den lokala värden.

    # ssh -q -L 4025:remote-server:25 4110:remote-server:110 username@remote-server

Detta är ett säkert sätt att ansluta till SMTP/POP3-servrar via Internet. Ställ in posten "`AllowTcpForwarding`" till "`yes`" i "`/etc/ssh/sshd_config`" på fjärrvärden.

### 6.3.8. Hur man stänger av fjärrsystemet på SSH

Du måste skydda processen som gör "`shutdown -h now`" (se Avsnitt 1.1.8, ”Så här stänger du av systemet”) från avslutningen av SSH med kommandot at(1) (se Avsnitt 9.4.13, ”Schemaläggning av uppgifter en gång”) på följande sätt.

    # echo "shutdown -h now" | at now

Att köra "`shutdown -h now`" i en screen(1)-session (se Avsnitt 9.1.2, ”Skärmprogrammet”) är ett annat sätt att göra samma sak.

### 6.3.9. Felsökning av SSH

Om du har problem kan du kontrollera behörigheterna för konfigurationsfilerna och köra `ssh` med alternativet "`-v`".

Använd alternativet "`-p`" om du är root och har problem med en brandvägg; detta undviker användning av serverportarna 1 - 1023.

Om `ssh-anslutningar` till en fjärranslutning plötsligt slutar fungera kan det bero på att systemadministratören har gjort något, troligen en ändring av "`host_key`" under systemunderhåll. Efter att ha försäkrat sig om att så är fallet och att ingen försöker fejka fjärrvärden genom något smart hack, kan man återfå en anslutning genom att ta bort posten "`host_key`" från "`~/.ssh/known_hosts`" på den lokala värden.

## 6.4. Skrivarserver och verktyg

I det gamla Unix-liknande systemet var BSD Line printer daemon (lpd) standard och standardutskriftsformatet för den klassiska fria programvaran var PostScript (PS). Något filtersystem användes tillsammans med Ghostscript för att möjliggöra utskrift till en icke-PostScript-skrivare. Se Avsnitt 11.4.1, ”Ghostscript”.

I det moderna Debian-systemet är CUPS ( Common UNIX Printing System ) de facto-standard och standardutskriftsformatet för modern fri programvara är PDF (Portable Document Format).

The CUPS uses Internet Printing Protocol (IPP). The IPP is the cross-platform de facto standard for remote printing with bi-directional communication capability.

Tack vare den automatiska konverteringen av filformat i CUPS-systemet kan du helt enkelt mata in data i `lpr-kommandot` och få fram den förväntade utskriften. (I CUPS kan `lpr` aktiveras genom att installera paketet `cups-bsd` )

Debian-systemet har några anmärkningsvärda paket för skrivarservrar och verktyg.

Tabell 6.11. Lista över skrivarservrar och verktyg

paket | popcon | storlek | port | beskrivning
--- | --- | --- | --- | ---
`lpr` | V:2.0, I:2.3 | 378 | skrivare (515) | BSD lpr/lpd (demon för linjeskrivare)
`cups` | V:143, I:442 | 1088 | IPP (631) | Internet Utskrift CUPS-server
`cups-client` | V:151, I:454 | 429 | , , | System V-skrivarkommandon för CUPS: lp(1), lpstat(1), lpoptions(1), cancel(1), lpmove(8), lpinfo(8), lpadmin(8), …
`cups-bsd` | V:32, I:184 | 131 | , , | BSD-skrivarkommandon för CUPS: lpr(1), lpq(1), lprm(1), lpc(8)
`printer-driver-gutenprint` | V:17, I:54 | 1117 | Inte giltigt | skrivardrivrutiner för CUPS

| Tips
Du kan konfigurera CUPS-systemet genom att rikta din webbläsare mot"http://localhost:631/".

## 6.5. Andra nätverksapplikationsservrar

Här finns andra nätverksapplikationsservrar.

Tabell 6.12. Lista över andra nätverksapplikationsservrar

paket | popcon | storlek | protokoll | beskrivning
--- | --- | --- | --- | ---
`telnetd` | V:0.3, I:1.5 | 55 | TELNET | TELNET-server
`nfs-kernel-server` | V:47, I:55 | 834 | NFS | Unix fildelning
`samba` | V:109, I:122 | 5138 | SMB | Fil- och skrivardelning i Windows
`netatalk` | V:0.71, I:0.93 | 933 | ATP | Apple/Mac fil- och skrivardelning (AppleTalk)
`proftpd-basic` | V:3.7, I:9.0 | 452 | FTP | Allmän nedladdning av filer
`apache2` | V:179, I:216 | 586 | HTTP | Allmän webbserver
`squid` | V:7.8, I:8.5 | 9358 | , , | Allmän webbproxyserver
`bind9` | V:34, I:37 | 888 | DNS | IP-adress för andra värdar
`kea` | I:0.52 | 245 | DHCP | IP-adress för själva klienten

Common Internet File System Protocol (CIFS) är samma protokoll som Server Message Block (SMB) och används i stor utsträckning av Microsoft Windows.

| Tips
Se Avsnitt 4.5.2, ”Den moderna centraliserade systemhanteringen” för integration av serversystem.

| Tips
Värdnamnsupplösningen tillhandahålls vanligtvis av DNS-servern. För värd-IP-adressen som dynamiskt tilldelas av DHCP kan dynamisk DNS konfigureras för värdnamnsupplösning med `bind9` och `kea` enligt beskrivningen på DDNS-sidan på Debian-wikin.

| Tips
Att använda en proxyserver som `squid` är mycket effektivare för att spara bandbredd än att använda en lokal spegelserver med hela Debian-arkivets innehåll.

## 6.6. Andra klienter för nätverksapplikationer

Här finns andra klienter för nätverksapplikationer.

Tabell 6.13. Lista över klienter för nätverksapplikationer

paket | popcon | storlek | protokoll | beskrivning
--- | --- | --- | --- | ---
`netcat-traditional` | V:52, I:904 | 139 | TCP/IP | TCP/IP swiss army-kniv
`netcat-openbsd` | V:20, I:121 | 105 | TCP/IP | Schweizisk armékniv för TCP/IP med stöd för IPv6, proxyservrar och Unix-uttag
`openssl` | V:855, I:997 | 2532 | SSL | Secure Socket Layer (SSL) binär och relaterade kryptografiska verktyg
`stunnel4` | V:6.2, I:9.6 | 24 | , , | universell SSL-omslagsfilm
`telnet` | V:11, I:206 | 55 | TELNET | TELNET-klient
`nfs-common` | V:147, I:194 | 1140 | NFS | Unix fildelning
`smbclient` | V:23, I:205 | 2117 | SMB | MS Windows fil- och skrivardelningsklient
`cifs-utils` | V:32, I:117 | 351 | , , | mount- och umount-kommandon för fjärrfil i MS Windows
`wget` | V:179, I:982 | 3784 | HTTP och FTP | webbnedladdare
`curl` | V:248, I:726 | 512 | , , | , ,
`transmission-gtk` | V:11, I:151 | 6259 | BitTorrent | BitTorrent client (GTK)
`transmission-qt` | V:0.7, I:2.7 | 6213 | , , | BitTorrent client (Qt)
`ktorrent` | V:1.4, I:5.3 | 5031 | , , | BitTorrent client (Qt)
`qbittorrent` | V:9, I:24 | 15262 | , , | BitTorrent client (Qt)
`bind9-host` | V:117, I:940 | 136 | DNS | host(1) från bind9, "`Priority: standard`"
`dnsutils` | V:5, I:156 | 23 | , , | dig(1) från bindning, "`Priority: standard`"
`ldap-utils` | V:10, I:55 | 790 | LDAP | hämta data från LDAP-servern

## 6.7. Diagnos av systemets daemons

Programmet `telnet` möjliggör manuell anslutning till systemets daemons och dess diagnos.

Om du vill testa en vanlig POP3-tjänst kan du prova följande

    $ telnet mail.ispname.net pop3

För att testa den TLS/SSL-aktiverade POP3-tjänsten hos vissa Internetleverantörer behöver du en TLS/SSL-aktiverad `telnet-klient` med paketen `telnet-ssl` eller `openssl`.

    $ telnet -z ssl pop.gmail.com 995

    $ openssl s_client -connect pop.gmail.com:995

Följande RFC: er ger nödvändig kunskap för varje systemdaemon.

Tabell 6.14. Lista över populära RFC:er

RFC | beskrivning
--- | ---
rfc1939 och rfc2449 | POP3-tjänst
rfc3501 | IMAP4-tjänst
rfc2821 (rfc821) | SMTP-tjänst
rfc2822 (rfc822) | Filformat för e-post
rfc2045 | MIME (Multipurpose Internet Mail Extensions)
rfc819 | DNS-tjänst
rfc2616 | HTTP-tjänst
rfc2396 | Definition av URI

Portanvändningen beskrivs i "`/etc/services`".

Kapitel 5. Nätverkskonfiguration |  | Kapitel 7. GUI-system