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

Linux-Befehle und Shell-Fähigkeiten

ssh: Die Verbindung, die Ihre Infrastruktur betreibt

ssh ist keine Annehmlichkeit, es ist der Transport, auf dem jeder Vorgang auf jedem Server läuft, und ~/.ssh/config ist ein Vertrag mit Ihrem zukünftigen Ich um 3 Uhr morgens. Host-Aliase, IdentityFile-Einträge, ProxyJump-Ziele und Keepalive-Einstellungen verwandeln gespeicherte Flag-Sätze in Ein-Wort-Befehle. Tunnel (-L, -R, -D) und ControlMaster-Multiplexing sind es, die „eine Shell“ in eine Infrastruktur-Befehlsoberfläche verwandeln, und beides ist eine Konfigurationsdateiarbeit, keine Speicherarbeit.

Kernpunkte

  1. Fügen Sie alles in ~/.ssh/config ein: Host-Aliase mit User, IdentityFile, IdentitiesOnly ja und ProxyJump machen „ssh prod-web1“ zu einem Wort; Ein Flag-Satz, der fünfmal am Tag identisch eingegeben wird, ist ein fehlender Konfigurationseintrag.
  2. Schlüssel sind das einzige Spiel: ssh-keygen -t ed25519 -C 'role@team', öffentliche Hälfte für autorisierte_Schlüssel und PasswordAuthentication nein auf dem Server, sobald die Rotation tatsächlich funktioniert.
  3. Jump-Hosts zusammengefasst in einem Flag: ssh -J bastion.corp internal-host oder ProxyJump bastion.corp im Host-Block; Die alten ProxyCommand-Beschwörungsformeln funktionieren immer noch und sind nicht mehr die Aufgabe von irgendjemandem.
  4. Tunnel haben einen bestimmten Zweck: -L 5432:db.internal:5432, um eine Datenbank zu erreichen, -D 1080 als SOCKS-Shim durch ein striktes Netzwerk, -R, um eine lokale Entwicklungsbox verfügbar zu machen, jeweils an localhost gebunden, sofern Sie sie nicht explizit erweitern.
  5. ControlMaster-Multiplexing (ControlMaster auto, ControlPath ~/.ssh/cm-%r@%h:%p, ControlPersist 10m) stoppt die erneute Ausführung von Handshakes bei jedem Öffnen und sorgt dafür, dass mehrere Fenster sofort auf einem Host funktionieren.
  6. Keepalives halten Sitzungen über NAT und Leerlauf-Firewall-Drops aufrecht: ServerAliveInterval 60 plus ServerAliveCountMax 3 clientseitig überwindet in den meisten Fällen mysteriöse Meldungen wie „Sitzung nach 4 Minuten beendet“.
  7. Gefährlichen Zugriff einschränken: -N (kein Remote-Befehl) für reine Portweiterleitungen, -n für Batch-Jobs, die von stdin lesen, und fail2ban plus vernünftige MaxAuthTries, damit Brute-Force in den Protokollen statt in den Konten stirbt.
  8. Debug-Reihenfolge ist wichtig: ssh -vvv zeigt Konfigurationsanalyse, Authentifizierungsaushandlung und Kanalfehler in dieser Reihenfolge an, und ein -G-Host-Dump antwortet „Warum wurde dieser Schlüssel und dieser Benutzer ausgewählt?“, ohne einen Server zu berühren.

Praxisnotiz

Ich habe einmal PasswordAuthentication deaktiviert, bevor der neue Schlüssel tatsächlich in „authorized_keys“ war, und mein eigenes Team für einen Abend ausgesperrt. Das Ritual jetzt: Zweite Sitzung geöffnet, Schlüssel funktioniert nachweislich und ServerAliveInterval in der Konfiguration, sodass inaktive Bastion-NAT-Drops keine Sitzungen mehr beenden.

Häufige Fragen

In jeweils einem Satz: -L, -R, -D?

-L leitet einen lokalen Port an einen Remote-Dienst weiter, -R schiebt einen Remote-Port zurück an Ihren Computer (wissen Sie genau, was Sie offengelegt haben) und -D öffnet einen dynamischen SOCKS-Proxy über die Verbindung.

Meine Sitzung wird nach ein paar Minuten Leerlaufzeit unterbrochen. Fix?

Ein Leerlauf-Timeout auf einem NAT oder einer Firewall ist die übliche Ursache: Stellen Sie ServerAliveInterval auf dem Client ein (und halten Sie TCPKeepAlive auf dem Server sauber); Derselbe Fix gehört in die Konfiguration, die Sie für Keller-Bastion-Hops verwenden.

SSH-Agent oder Schlüssel ohne Passphrase?

Agent, immer: Er speichert entschlüsselte Schlüssel pro Sitzung, sodass die Schlüssel Passphrasen behalten und die Automatisierung nicht interaktiv bleibt; ForwardAgent ja auf einer vertrauenswürdigen Bastion ist in Ordnung und ssh-add -l sagt Ihnen, was geladen ist, bevor Sie sich selbst belügen.

Wie kann ich verhindern, dass ich Tunnelspezifikationen erneut eingeben muss?

LocalForward- und RemoteForward-Zeilen innerhalb von Host-Blöcken: 'ssh dbtunnel' erledigt dann das Ganze; Ein Eintrag pro Zweck sorgt dafür, dass die Datei lesbar bleibt und Audits genau sehen können, wer was weiterleitet.

Wie Kinetikatech bei linux-befehle und shell-fähigkeiten hilft

Die Sache ist einfach: Die Befehle und Skriptgewohnheiten, die darüber entscheiden, ob ein Administrator einen Server betreibt oder ihn bekämpft: Suchen, Transformieren, Übertragen und Überwachen von Texten und Prozessen mit den Tools, die in jeder Basisinstallation enthalten sind. Übergeben Sie es an unseren Linux-Server-Sicherheit und Serververwaltung-Service und es ist abgedeckt: sauber bewertet, sauber umgesetzt, rund um die Uhr überwacht.

Mit einem Ingenieur sprechen

Serverproblem? Gehackte Website? Langsame Seite?

Kritische Störungen in 30 Minuten beantwortet — rund um die Uhr, 7 Tage die Woche.

Notfall-Support anfordern support@kinetikatech.com