Skip to content

Latest commit

 

History

History
44 lines (33 loc) · 2.33 KB

File metadata and controls

44 lines (33 loc) · 2.33 KB

Changes — pwrlab Node

Format: ## YYYY-MM-DD (username) followed by bullet list of changes.


2026-06-15 (kagnapathy) — continued

  • Disabled broken ookla/speedtest-cli apt repo (no Release file for noble) → /etc/apt/sources.list.d/ookla_speedtest-cli.list.disabled
  • Added Claude Code session detection to 05-pwrlab-sysinfo (MOTD) and pwrlab-status

2026-06-15 (kagnapathy)

Initial node setup and hardening

  • Installed monitoring tools: btop, ncdu, iotop, vnstat, nethogs, smartmontools
  • Installed security tools: fail2ban (SSH brute-force protection)
  • Installed Node.js LTS and Claude Code (@anthropic-ai/claude-code)
  • Enabled SSH keepalive (ClientAliveInterval 60, ClientAliveCountMax 10) — fixes dropped connections
  • Configured fail2ban for SSH (5 failures / 10 min → 1h ban)
  • Enabled vnstat (network traffic accounting on eno3)
  • Enabled smartd (disk S.M.A.R.T. monitoring)
  • Replaced MOTD with custom PWRLAB banner + dynamic sysinfo (01-pwrlab-banner, 05-pwrlab-sysinfo)
  • Disabled noisy MOTD scripts: 00-header, 10-help-text, 50-landscape-sysinfo, 50-motd-news, 91-contract-ua-esm-status, 91-release-upgrade, 97-overlayroot
  • Added admin scripts: pwrlab-status, pwrlab-maintenance, pwrlab-check-alerts, pwrlab-claude
  • Added hourly health check cron job (/etc/cron.d/pwrlab-alerts → kagnapathy@ucsd.edu)
  • Added /etc/skel dotfiles: .bashrc (aliases, git prompt, history), .vimrc, .tmux.conf
  • Added /etc/profile.d/claude-code.sh (claude-list alias)
  • Created lab user guide at /usr/local/share/pwrlab/user-guide.md
  • Initialized this pwrlab-admin git repo for tracking all node changes

2026-06-15 (kagnapathy) — MOTD fix

  • Fixed cat: /run/motd.dynamic: No such file or directory error on login
  • Removed broken if whoami=pwrlabadmin; cat /run/motd.dynamic block from /etc/profile
  • Changed PAM /etc/pam.d/sshd from pam_motd.so noupdatepam_motd.so so it actually runs the update-motd.d scripts and generates the file

2026-06-15 (kagnapathy) — MOTD display fix

  • Set PrintMotd no in /etc/ssh/sshd_config Ubuntu's OpenSSH 9.6 suppresses PAM's pam_motd.so when PrintMotd yes to avoid double-printing; since /etc/motd is now empty, MOTD was silently dropped. Setting PrintMotd no lets PAM handle display exclusively via pam_motd.so.
  • Added motd=/run/motd.dynamic to pam_motd.so line in /etc/pam.d/sshd