Gå til indhold

Trin 5 af 8 · Linux

Service-agenten til Linux er en systemd-tjeneste. Den henter certifikater fra appliancen og installerer dem på serveren. I forbinder serveren med én linje, som I kopierer fra appliancen.

I skal bruge:

  • En x86_64- eller arm64-server med systemd, fx Ubuntu, Debian, Red Hat Enterprise Linux, Rocky Linux eller AlmaLinux.
  • Root-adgang til serveren, eller en konto med sudo.
  • At serveren kan nå appliancen direkte over HTTPS, eller nå sslbrain.com og cloud.sslbrain.com på port 443. Står serveren et andet sted end appliancen, så se Servere uden for jeres netværk.

Siden Installer service-agent viser en Linux-linje, når appliancen har Linux-agenten 0.7.0. Indtil da står der Linux-servere kan tilføjes med den næste Linux-agent. under Linux.

  1. Åbn Servere › Installer service-agent i sslbrain, og vælg Linux. Siden viser en åben installationskode eller opretter selv én.

  2. Kopiér linjen under Linux. Den ser sådan ud:

    Terminal window
    curl -fsSL https://<appliance>/agent.sh | sudo sh -s -- --code <kode> --server https://<appliance>
  3. Indsæt linjen i en terminal på serveren, og tryk Enter.

agent.sh henter den nyeste agentpakke fra samme adresse, kontrollerer dens SHA-256 og installerer agenten med koden. Arkitekturen vælger pakken selv. Efter et minut eller to står serveren under Servere.

Agenten installeres, så den kan installere certifikater og genindlæse tjenester. Samme kode kan bruges på så mange servere, I vil, til I lukker den under Installationskoder på samme side, eller til den sidste dag, I har givet den.

Bruger appliancen sit eget selvsignerede certifikat, henter linjen agent.sh fra sslbrain.com i stedet, og agenten forbinder derefter direkte til appliancen. Giv appliancen et rigtigt certifikat, så hentes agenten fra appliancen selv (Gratis navn).

Kan serveren ikke nå appliancen direkte, så åbn Serveren kan ikke nå appliancen direkte, og brug linjen der:

Terminal window
curl -fsSL https://sslbrain.com/agent.sh | sudo sh -s -- --code <kode>

Agenten finder appliancen gennem sslbrain Cloud med koden. Cloud kan hverken læse eller ændre det, appliancen og agenten sender hinanden (Servere uden for jeres netværk).

  • Sektionen findes på fanen Linux, når appliancen har Linux-agenten 0.7.0.
  • Sektionen vises kun, når Tillad agentkommunikation via Cloud er slået til under Indstillinger › Sikkerhed.
  • Alle licenser kan forbinde via Cloud. Dækker licensen ikke Cloud-forbindelse, står serveren som Blokeret under Servere og får ingen opgaver, før den skiftes til direkte forbindelse, eller licensen opgraderes (Servere uden for jeres netværk).

Kør linjen på hver server, fx med Ansible eller et andet værktøj til konfigurationsstyring. Den kræver ingen fil og intet svar undervejs.

En server, der forbinder med koden, er godkendt og står under Servere. sslbrain leder selv efter Nginx og Apache på serveren og viser det, den finder, under Tjenester.

En server, der ligner en geninstallation af en server, som allerede er forbundet, venter i stedet under Servere, der venter på godkendelse på Installer service-agent.

  1. Sammenlign Agentnøgle med den nøgle, agenten har skrevet i sin log på serveren (Logfiler).

  2. Klik på Godkend.

Bevis, at domænet er jeres, så sslbrain kan få certifikater til det: Bevis, at domænet er jeres.

  • agent.sh skriver “specify —code or —server”: linjen mangler koden. Kopiér den igen fra Installer service-agent.
  • agent.sh skriver “does not match its checksum”: pakken blev skiftet ud under hentningen. Kør linjen igen.
  • agent.sh skriver “no verified Linux agent package”: appliancen har endnu ikke hentet agenten fra sslbrain Cloud. Den henter den hver nat kl. 03:15. Prøv igen senere; linjen via sslbrain Cloud kræver samme pakke.
  • curl skriver “SSL certificate problem”: serveren stoler ikke på appliancens certifikat. Giv appliancen det gratis navn (Gratis navn).
  • install.sh skriver “this package has no protocol core”: serveren er hverken x86_64 eller arm64.
  • Et værktøj mangler: agenten kræver bash 4.4 eller nyere, openssl, tar, curl eller wget, flock, timeout, base64, find, od og sed.
  • Serveren har ikke systemd: tilføj --mode cron til linjen.
  • Serveren står som Blokeret: den er forbundet via sslbrain Cloud, og licensen dækker det ikke. Åbn serveren, og klik på Skift til direkte (Servere uden for jeres netværk).
  • Serveren dukker ikke op: se agentens log (Logfiler), og kontrollér, at serveren kan nå appliancen (Agenten melder sig ikke).
  • Certifikatet bliver ikke installeret: Installationen fejler.

Agenten skriver til journalen:

Terminal window
systemctl status sslbrain-agent.service
journalctl -u sslbrain-agent.service -n 50 --no-pager

Med --mode cron står loggen i /var/lib/sslbrain/state/agent.log.

agent.sh giver sine valg videre til install.sh i pakken.

ValgBetydning
--code <kode>Installationskoden fra Installer service-agent. Med --server forbinder agenten direkte og har sslbrain Cloud som failover. Uden går den via sslbrain Cloud
--server <adresse>Appliancens adresse. Uden --code venter serveren, til en administrator godkender den. Bruges kun ved første kontakt, derefter styrer appliancen adresserne
--cloud-denyAgenten kontakter aldrig sslbrain Cloud, uanset hvad appliancen sender
--profile deployKører som root, installerer certifikater og genindlæser tjenester. Standard
--profile scopedSkriver kun i de certifikatmapper, I giver adgang til, og genindlæser tjenesten via en hook, som root ejer. Kræver lokal opsætning
--profile inventoryFinder og overvåger certifikater, men installerer ingen
--mode systemd|timer|cronHvordan agenten kører. Standard er systemd
--code-file <fil>Læs koden fra en fil, eller - for standard input, i stedet for --code

En af --code og --server skal med. Kører installationen igen uden --profile, beholder agenten sin profil. Agenten ligger i /usr/local/lib/sslbrain/sslbrain-agent, indstillingerne i /etc/sslbrain/agent.conf og tilstanden i /var/lib/sslbrain/state.