NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
NL

Linux-opdrachten en shell-vaardigheden

ssh: de verbinding die uw infrastructuur beheert

ssh is geen gemak, het is het transport waarop elke bewerking op elke server draait, en ~/.ssh/config is een contract met uw toekomstige zelf om 3 uur 's nachts. Hostaliassen, IdentityFile-items, ProxyJump-doelen en keepalive-instellingen zetten onthouden vlagzinnen om in opdrachten van één woord. Tunnels (-L, -R, -D) en ControlMaster-multiplexing maken van 'een shell' een opdrachtoppervlak voor de infrastructuur, en beide zijn configuratiebestandwerk, geen geheugenwerk.

Kernpunten

  • Zet alles in ~/.ssh/config: Hostaliassen met User, IdentityFile, IdentitiesOnly yes, en ProxyJump maken van 'ssh prod-web1' één woord; een vlagzin die vijf keer per dag identiek wordt getypt, is een ontbrekende configuratie-invoer.
  • Sleutels zijn het enige spel: ssh-keygen -t ed25519 -C 'role@team', openbare helft tot geautoriseerde_sleutels en wachtwoordauthenticatie nee op de server zodra bewezen is dat rotatie daadwerkelijk werkt.
  • Jumphosts samengevouwen in één vlag: ssh -J bastion.corp internal-host, of ProxyJump bastion.corp in het Host-blok; de oude ProxyCommand-bezweringen werken nog steeds en zijn niet langer de taak van iemand.
  • Tunnels zijn per doel: -L 5432:db.internal:5432 om een ​​database te bereiken, -D 1080 als een SOCKS-shim via een strikt netwerk, -R om een ​​lokale dev-box beschikbaar te stellen, elk gebonden aan localhost tenzij je deze expliciet verbreedt.
  • ControlMaster multiplexing (ControlMaster auto, ControlPath ~/.ssh/cm-%r@%h:%p, ControlPersist 10m) stopt het opnieuw uitvoeren van handshakes bij elke opening en zorgt ervoor dat meerdere vensters direct op één host kunnen werken.
  • Keepalives behouden sessies via NAT en inactieve firewall-drops: ServerAliveInterval 60 plus ServerAliveCountMax 3 client-side verslaat meestal de mysterieuze 'sessie stierf na 4 minuten'-rapporten.
  • Beperk gevaarlijke toegang: -N (geen commando op afstand) voor pure port forwards, -n voor batchtaken die uit stdin lezen, en fail2ban plus gezonde MaxAuthTries, zodat brute kracht in de logs sterft in plaats van in de accounts.
  • Debug-volgorde is belangrijk: ssh -vvv onthult configuratie-parsing, auth-onderhandeling en kanaalfouten in die volgorde, en een -G host-dump antwoordt 'waarom heeft het die sleutel en die gebruiker gekozen' zonder een server aan te raken.

Notitie uit de praktijk

Ik heb ooit WachtwoordAuthenticatie uitgeschakeld voordat de nieuwe sleutel daadwerkelijk in geautoriseerde_sleutels zat en heb mijn eigen team voor een avond buitengesloten. Het ritueel nu: tweede sessie geopend, sleutel bewezen werking, en ServerAliveInterval in de configuratie, zodat inactieve bastion NAT-drops stoppen met het doden van sessies.

Veelgestelde vragen

In één zin elk: -L, -R, -D?

-L draagt ​​een lokale poort door naar een externe service, -R duwt een externe poort terug naar uw machine (weet precies wat u hebt blootgelegd), en -D opent een dynamische SOCKS-proxy via de verbinding.

Mijn sessie stopt na een paar minuten inactiviteit. Repareren?

Een time-out voor inactiviteit op een NAT of firewall is de gebruikelijke oorzaak: stel ServerAliveInterval in op de client (en houd TCPKeepAlive gezond op de server); dezelfde oplossing hoort thuis in de configuratie die je gebruikt voor bastion-hops in de kelder.

ssh-agent of sleutels zonder wachtwoord?

Agent, altijd: deze bewaart gedecodeerde sleutels per sessie, zodat sleutels wachtwoordzinnen behouden en de automatisering niet-interactief blijft; ForwardAgent ja op een vertrouwd bastion is prima en ssh-add -l vertelt je wat er wordt geladen voordat je tegen jezelf liegt.

Hoe stop ik met het opnieuw typen van tunnelspecificaties?

LocalForward- en RemoteForward-regels binnen Host-blokken: 'ssh dbtunnel' doet dan het hele ding; één invoer per doel houdt het bestand leesbaar en laat audits precies zien wie wat doorstuurt.

Hoe Kinetikatech helpt bij linux-opdrachten en shell-vaardigheden

Zo zit het: De opdrachten en scriptgewoonten die beslissen of een beheerder een server beheert of bestrijdt: tekst en processen zoeken, transformeren, overdragen en controleren met de tools die in elke basisinstallatie aanwezig zijn. Draag het over aan onze dienst Linux-serverbeveiliging en Serverbeheer en het is gedekt: zorgvuldig beoordeeld, netjes geïmplementeerd, dag en nacht bewaakt.

Neem contact op met een engineer

Serverprobleem? Gehakte site? Trage website?

Kritieke incidenten binnen 30 minuten beantwoord — 24 uur per dag, 7 dagen per week.

Noodsupport aanvragen support@kinetikatech.com