{
  "id": 17809770,
  "title": "Command Auditing in an SSH Terminal: What the Client Can See, and What Only the Server Can Enforce",
  "url": "https://urgent.news/2026/11/02/command-auditing-in-an-ssh-terminal-what-the-client-can-see-and-what",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-02T14:48:59.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/c-wind/command-auditing-in-an-ssh-terminal-what-the-client-can-see-and-what-only-the-server-can-enforce-2pdp"
  },
  "original_language": "en",
  "account": "Command auditing in an SSH terminal is a concept that involves evaluating user inputs before they are executed on a server. This process primarily occurs on the server side, where processes initiate, rather than on the client side, where the terminal resides. The client-side sees keystrokes but does not perceive the final command executed by the shell. Client-side command checks serve as advisories and cannot enforce restrictions, while server-side enforcement is necessary to truly control executed commands.",
  "summary": "Originally published on MistLab . Part 6 of Building an SSH Terminal . Part 6 of \"Building an SSH Terminal\". Code excerpts are from MistTerm v1.2.26, an open-source (AGPL) SSH terminal client by MistLab and from the server-side agent installer in the Mist server repository; they are trimmed, and comments are translated from Chinese. TL;DR A terminal sees keystrokes, not the command the shell…",
  "key_points": [
    "Command auditing occurs on server side, not client side",
    "Client sees keystrokes, not final executed commands",
    "Server-side enforcement is necessary for true command control"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}