Linux-kommandon och skalfärdigheter
ssh: Anslutningen som drivrutin för infrastruktur
ssh är inte en bekvämlighet, det är transporten som varje operation på varje server kör på, och ~/.ssh/config är ett kontrakt med ditt framtida jag klockan 03.00. Värdalias, IdentityFile-poster, ProxyJump-mål och keepalive-inställningar förvandlar ihågkomna flaggmeningar till ettordskommandon. Tunnlar (-L, -R, -D) och ControlMaster-multiplexering är det som gör "ett skal" till en infrastrukturkommandoyta, och båda är konfigurationsfilsarbete, inte minnesarbete.
Nyckelpunkter
- Lägg allt i ~/.ssh/config: Värdalias med User, IdentityFile, IdentitiesOnly yes och ProxyJump gör 'ssh prod-web1' till ett ord; en flaggsats som skrivs identiskt fem gånger om dagen är en saknad konfigurationspost.
- Nycklar är det enda spelet: ssh-keygen -t ed25519 -C 'role@team', public half till authorized_keys och PasswordAuthentication no på servern när rotation faktiskt har visat sig fungera.
- Jump-värdar kollapsade till en flagga: ssh -J bastion.corp internal-host, eller ProxyJump bastion.corp i Host-blocket; de gamla ProxyCommand besvärjelserna fungerar fortfarande och är inte längre någons jobb.
- Tunnlar är avsedda för: -L 5432:db.internal:5432 för att nå en databas, -D 1080 som ett SOCKS shim genom ett strikt nätverk, -R för att exponera en lokal dev-box, var och en bunden till localhost om du inte uttryckligen breddar den.
- ControlMaster-multiplexering (ControlMaster auto, ControlPath ~/.ssh/cm-%r@%h:%p, ControlPersist 10m) stoppar omkörning av handskakning vid varje öppning och gör att flera fönster fungerar på ett värdögonblick.
- Keepalives håller sessioner genom NAT och inaktiva brandväggar: ServerAliveInterval 60 plus ServerAliveCountMax 3 klient-side beats mystiska "session dog på 4 minuter" rapporter för det mesta.
- Begränsa farlig åtkomst: -N (inget fjärrkommando) för rena portforwards, -n för batchjobb som läser från stdin och fail2ban plus förnuftiga MaxAuthTries så att brute force dör i loggarna istället för konton.
- Felsökningsordning spelar roll: ssh -vvv avslöjar konfigurationsanalys, autentiseringsförhandling och kanalfel i den ordningen, och en -G-värddump svarar "varför valde den den nyckeln och den användaren" utan att röra en server.
Fältnotis
Jag inaktiverade en gång PasswordAuthentication innan den nya nyckeln faktiskt fanns i authorized_keys och låste mitt eget team ute för en kväll. Ritualen nu: andra sessionen öppen, nyckeln har bevisats fungera och ServerAliveInterval i konfigurationen så att inaktiva bastion NAT-fall slutar döda sessioner.
Vanliga frågor
I en mening vardera: -L, -R, -D?
-L för en lokal port framåt mot en fjärrtjänst, -R skjuter en fjärrport tillbaka mot din maskin (vet exakt vad du exponerade), och -D öppnar en dynamisk SOCKS-proxy genom anslutningen.
Min session sjunker efter några inaktiva minuter. Fixera?
En inaktiv timeout på en NAT eller brandvägg är den vanliga orsaken: ställ in ServerAliveInterval på klienten (och håll TCPKeepAlive sane på servern); samma fix hör hemma i konfigurationen du använder för basement bastion hops.
ssh-agent eller lösenfraslösa nycklar?
Agent, alltid: den innehåller dekrypterade nycklar per session så att nycklar behåller lösenfraser och automatiseringen förblir icke-interaktiv; ForwardAgent ja på en betrodd bastion är bra och ssh-add -l berättar vad som laddas innan du ljuger för dig själv.
Hur slutar jag skriva om tunnelspecifikationer?
LocalForward och RemoteForward-linjer inuti värdblocken: 'ssh dbtunnel' gör sedan hela grejen; en post per ändamål håller filen läsbar och låter granskningar se exakt vem som vidarebefordrar vad.
Så hjälper Kinetikatech dig med linux-kommandon och skalfärdigheter
Du ska inte behöva bli expert på linux-kommandon och skalfärdigheter: Kommandon och skriptvanor som avgör om en administratör driver en server eller bekämpar den: sök, transformera, överföra och övervaka text och processer med verktygen som finns i varje basinstallation. Det är precis vad Linux-serversäkerhet och Serverhantering finns till för, installation, härdning, övervakning och en människa på jour dygnet runt.