vps-hardening

vps-hardening is a skill for Claude Code, Codex from GoldenWing-360/claude-security-skills. It costs 79 tokens per session (2,477 once invoked), scanned A, original, MIT.

A procedure for applying a basic security setup to a Debian or Ubuntu virtual private server, a rented internet-connected machine. It covers SSH access, firewall rules, intrusion blocking, updates, kernel settings, logs, and sudo access.

In plain words
What is it for?
Use it when provisioning or inheriting a VPS, preparing one for public traffic, or performing a periodic security review.
Why use it?
It provides a documented starting point for reducing common server risks before services are exposed publicly.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: positional $N argument.

Good fit Use it when provisioning or inheriting a VPS, preparing one for public traffic, or performing a periodic security review.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/goldenwing-360/claude-security-skills/vps-hardening
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add GoldenWing-360/claude-security-skills --skill vps-hardening
Clone the repo
git clone --depth 1 https://github.com/GoldenWing-360/claude-security-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for vps-hardening

README.md
[![agentmods](https://agentmods.dev/badge/skills/goldenwing-360/claude-security-skills/vps-hardening/github.svg)](https://agentmods.dev/skills/goldenwing-360/claude-security-skills/vps-hardening)
Your own site
<a href="https://agentmods.dev/skills/goldenwing-360/claude-security-skills/vps-hardening"><img src="https://agentmods.dev/badge/skills/goldenwing-360/claude-security-skills/vps-hardening/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for vps-hardening

Your own site · 80×15
<a href="https://agentmods.dev/skills/goldenwing-360/claude-security-skills/vps-hardening"><img src="https://agentmods.dev/badge/skills/goldenwing-360/claude-security-skills/vps-hardening.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 79 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,477 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00079 $0.02477
Opus 5 $0.00039 $0.01239
Sonnet 5 $0.00016 $0.00495
Haiku 4.5 $0.00008 $0.00248

Measured 12d ago against content hash 3fe296377998, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

vps-hardening scanned grade A with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootlowPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

description: Baseline-harden a Debian or Ubuntu VPS in roughly thirty minutes. Covers SSH key-only authentication, UFW firewall, fail2ban with web-app jails, unattended security upgrades, kernel sysctls, journalctl reten

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

apt install -y sudo ufw fail2ban unattended-upgrades curl ca-certificates gnupg
vps-hardening/SKILL.md · 292 lines

How it starts

The opening of the file, as written. The whole thing — 292 lines — stays where its author put it; the contents beside it link to each section on GitHub.

VPS Hardening

A pragmatic baseline for a single Debian/Ubuntu VPS hosting a few services. Not a CIS benchmark — those are excellent but too long for a vibe-coded side project to follow on day one. This is the 30-minute version that gets you 90% of the way.

Assumptions: you have root SSH access (typically via the provider's initial password). You will be the first and probably only operator.

When to invoke

  • New VPS provisioned, no hardening yet
  • Inherited a VPS with no documentation
  • Service is about to face public internet traffic
  • Periodic re-audit (quarterly is reasonable)

Step 0 — Get a backup before changing anything

# From your laptop, snapshot the VPS via your provider's panel/API first.
# All steps below are reversible, but a snapshot turns a mistake from a crisis into an inconvenience.

Step 1 — Update everything, then create a non-root user

# As root, on the VPS
apt update && apt upgrade -y
apt install -y sudo ufw fail2ban unattended-upgrades curl ca-certificates gnupg

# Create a personal user with sudo
adduser deploy                # set a strong passphrase (you will rarely use it)
usermod -aG sudo deploy

From now on, prefer to SSH as deploy and use sudo for privileged actions. root will be locked from SSH in step 3.

Step 2 — Authorize your SSH key for the new user

From your laptop:

ssh-copy-id deploy@<vps-ip>
# Verify you can log in as deploy and run sudo
ssh deploy@<vps-ip> 'sudo -v && echo OK'

If you do not have an SSH key yet:

# On the laptop
ssh-keygen -t ed25519 -C "deploy@<your-laptop-name>"

Ed25519 is the modern default; RSA-2048 also fine but slower.

Step 3 — Lock SSH down

Edit /etc/ssh/sshd_config (on the VPS, as root or sudo):

# Auth
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
PermitEmptyPasswords no

# Hygiene
LoginGraceTime 30
MaxAuthTries 3
MaxSessions 4
ClientAliveInterval 300
ClientAliveCountMax 2

# Reduce surface
AllowAgentForwarding no
AllowTcpForwarding no       # set yes if you actually need SSH tunneling
X11Forwarding no
PrintMotd no
UseDNS no

# Restrict who can log in at all
AllowUsers deploy

Read the full file on GitHub · 292 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 292 lines · 79 tokens per session scan A 3fe296377998

Subscribe to this mod's changes

vps-hardening is a skill published in the GitHub repository GoldenWing-360/claude-security-skills (17 stars, last pushed 1mo ago), licensed MIT. It adds 79 tokens to every session and 2,477 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 2 findings (asks for root, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

cloudflare-api

Hit the Cloudflare REST API directly for operations that wrangler and MCP can't handle well. Bulk DNS, custom hostnames, email routing, cache purge, WAF rules, redirect rules, zone settings, Worker routes, D1 cross-database queries, R2 bulk operations, KV bulk read/write, Vectorize queries, Queues, and fleet-wide…

jezweb/claude-skills · 141 tokens

hono-api-scaffolder

Scaffold Hono API routes for Cloudflare Workers. Produces route files, middleware, typed bindings, Zod validation, error handling, and APIENDPOINTS.md documentation. Use after a project is set up with cloudflare-worker-builder or vite-flare-starter, when you need to add API routes, create endpoints, or generate API…

jezweb/claude-skills · 77 tokens

cloudflare-worker-builder

Scaffold and deploy Cloudflare Workers with Hono routing, Vite plugin, and Static Assets. Describe project, scaffold structure, configure bindings, deploy. Use whenever the user wants to create a Worker project, set up Hono on Cloudflare, configure D1 / R2 / KV / Queues bindings, or troubleshoot Worker export syntax…

jezweb/claude-skills · 86 tokens

cloud-browser-automation

Use cloud browser services (Browserbase) for Cloudflare bypass, JavaScript rendering, and stealth scraping when local tools fail.

kevinnft/ai-agent-skills · 29 tokens

nemoclaw-setup

Install and configure NVIDIA NemoClaw (sandboxed OpenClaw agent platform) on Linux. Handles cloudflared tunnels, Docker cgroup fixes, OpenShell, sandbox creation, remote access via Cloudflare Tunnel, and known bug workarounds. Use whenever the user mentions installing NemoClaw, setting up OpenClaw, configuring an…

jezweb/claude-skills · 91 tokens

latchbio-integration

Build, register, debug, and operate bioinformatics workflows on Latch using the Python SDK, CLI, Latch Data and Registry, Nextflow, Snakemake, programmatic execution, and Latch MCP. Use when authoring or deploying Latch workflows, configuring resources or interfaces, moving data, integrating Registry, or launching and…

K-Dense-AI/scientific-agent-skills · 76 tokens