H Scenario — SSH Remote Administration

Instead of complex commands,
manage servers through conversation

Security audits, firewall setup, performance analysis, kernel tuning, backup automation.
Complete a new server onboarding inspection in 13 turns of conversation.

01 — Why

Why manage servers with wiiiv

You've just taken over a new server. You need to track SSH login failure IPs, set up a firewall, diagnose performance bottlenecks, tune kernel parameters, and automate backups. Each task requires knowledge of journalctl, nftables, vmstat, sysctl, and crontab commands.

With wiiiv, just say "Analyze SSH login failure logs from the last 7 days." The AI builds a journalctl + awk pipeline, executes it on the server via SSH, and presents the attacking IPs sorted by frequency.

Connection Security

SSH passwords are used only within the session. With wiiiv's SSH host pre-registration feature, you can connect without entering a password in the conversation.

sudo Privilege Management

Tasks requiring admin privileges — firewall setup, kernel tuning, cron registration — are also handled through conversation. The sudo password is provided once at connection and reused within the session.

Dangerous Command Blocking

Destructive commands like rm -rf and dd if=/dev/zero are automatically detected by OsHazardGuard. They will not execute unless the user explicitly approves.

All commands and outputs in this guide are actual wiiiv execution results from July 12, 2026. We connected to a Rocky Linux 9.5 server via SSH and completed the server onboarding inspection in 13 turns of conversation.
02 — Server

Target Server

This is the server we'll inspect in this guide. Provide the connection details, and everything after that is done through conversation.

Hostname
rocky95
OS
Rocky Linux 9.5 (Blue Onyx)
Kernel
5.14.0-503.40.1.el9_5.x86_64
Address
myserver.example.com:22
CPU / Memory
4 cores / 3.6 GiB
Uptime
3 weeks, 1 day
13
Total Turns
22d
Server Uptime
2
HazardGuard Detections
11m
Total Duration
03 — Full Execution (13 Turns)

Full Execution Flow — 13 Turns

You've just taken over a new server. From connection to security audit, performance diagnosis, automation, and hazardous command control — the entire onboarding inspection is performed through conversation.

T0
SSH
Connect
T1
System
Overview
T2
Security
Audit
T3
Port
Analysis
T4
Firewall
Setup
T5
Performance
Profiling
T6
DNS
Diagnosis
T7
Log
Forensics
T8
Kernel
Tuning
T9
Backup
Automation
T10
Stress Test
⚠ Blocked
T11
Cleanup
⚠ Detected
Connection and System Discovery
T0 SSH Connection
wiiiv
Sky
Skytree
Connect to myserver.example.com via SSH. Port 822, user skytree, password m******2.
W
wiiiv
SSH connection successful (skytree@myserver.example.com:22)
rocky95 skytree /home/skytree NAME="Rocky Linux" VERSION="9.5 (Blue Onyx)" ID="rocky" ID_LIKE="rhel centos fedora" /usr/bin/dnf /usr/bin/yum inet 10.10.90.240/16 brd 10.10.255.255 scope global noprefixroute ens18 inet 10.10.0.187/16 brd 10.10.255.255 scope global secondary dynamic
Connection Security: In this example, the password was entered directly in the conversation. Using wiiiv's SSH host pre-registration feature, you can connect with just the host name without entering a password. Connection details are stored encrypted on the server.
T1 Comprehensive System Check
wiiiv
Sky
Skytree
Run a comprehensive server check. Show OS, kernel version, uptime, CPU cores, memory (total/used/available), swap, and disk usage by partition — all at once.
W
wiiiv
Here are the server status check results.
ItemValue
OSRocky Linux 9.5 (Blue Onyx)
Kernel Version5.14.0-503.40.1.el9_5.x86_64
Uptimeup 3 weeks, 1 day, 16 hours, 15 minutes
CPU Cores4
Total Memory3.6Gi
Used Memory776Mi
Available Memory2.8Gi
Total Swap3.2Gi
Used Swap10Mi

Disk usage by partition:

FilesystemTypeSizeUsedAvailUse%
/dev/mapper/rl-rootxfs28G11G18G39%
/dev/sda1xfs960M316M645M33%
tmpfstmpfs732M68M665M10%
/dev/mapper/vg_test-lv_testext4455M14K426M1%
Security Audit
T2 SSH Login Failure Analysis
wiiiv
Sky
Skytree
Analyze SSH login failure logs from the last 7 days. Sort attacking IPs by frequency and check if there are any time-based attack patterns.
W
wiiiv
Here are the results based on SSH login failure logs from the last 7 days.
Attacking IPCount
172.30.1.2548
TimeCount
05:008

Summary: 1 attacking IP — 172.30.1.254. All failed attempts are concentrated at 05:00 AM.

T3 Port/Service Analysis
wiiiv
Sky
Skytree
Analyze currently open ports and bound processes. Determine if there are any unnecessary or risky services.
W
wiiiv
Here are the currently open ports and bound processes.
ProtocolLocal Address:PortProcessExposureAssessment
udp127.0.0.1:323chronydLocal onlyNormal
tcp0.0.0.0:22sshdAll IPv4Normal/Critical
tcp*:3306mariadbAll interfacesCaution

Assessment: MariaDB (3306) is bound to all interfaces, which poses a relatively high risk and requires attention.

wiiiv doesn't just list open ports — it assesses the risk. It detected that MariaDB is bound to all interfaces and classified it as "Caution."
Firewall and Performance
T4 nftables Firewall Setup
wiiiv
Sky
Skytree
Create basic nftables firewall rules. Allow SSH (822) and HTTP/HTTPS, block all other inbound traffic. Show the rule list after applying.
W
wiiiv

Generated and executed the firewall script:

#!/bin/bash set -e nft -f - <<'NFT' flush ruleset table inet filter { chain input { type filter hook input priority 0; policy drop; ct state established,related accept iif "lo" accept tcp dport 822 accept tcp dport 80 accept tcp dport 443 accept ip protocol icmp accept ip6 nexthdr icmpv6 accept counter drop } chain forward { type filter hook forward priority 0; policy drop; } chain output { type filter hook output priority 0; policy accept; } } NFT

Verification failed: sudo nft list ruleset output was empty — unable to confirm the applied rules.

Honest reporting: wiiiv successfully wrote and executed the firewall script, but honestly reported that the nft list output was empty during verification. It does not disguise an unverified result as "success."
T5 Performance Profiling
wiiiv
Sky
Skytree
Run vmstat for 5 seconds, 3 iterations, and check disk I/O with iostat. Analyze if there are any bottlenecks.
W
wiiiv

vmstat 5 3 results:

rbswpdfreebuffcachesisoidwa
10111729726126802335860001000
00111729775126802335884001000
00111729786446802335892001000

iostat -xz 5 3 key devices:

Devicer/sw/srkB/swkB/sr_awaitw_await
sda0.860.6236.1338.950.343.42
dm-00.860.6536.0638.920.332.10

Bottleneck assessment:

No CPU bottleneck — idle 100%
No memory bottleneck — si/so 0
No disk I/O bottleneck — %util 0.08
Network and Logs
T6 DNS + traceroute Diagnosis
wiiiv
Sky
Skytree
Diagnose DNS. Check nameservers, forward lookup for google.com and naver.com, reverse lookup for 8.8.8.8, and measure response times. Also run traceroute to google.com.
W
wiiiv

Nameservers:

#Nameserver
18.8.8.8
2168.126.63.1
3168.126.63.2

Forward/Reverse lookups:

DomainLookup ResultResponse Time
google.com2404:6800:400b:c00c::71 + 3 more26 ms
naver.com223.130.200.219 + 3 more33 ms
8.8.8.8 (reverse)dns.google.

traceroute google.com — 18 hops:

HopVia
1_gateway (10.10.10.1)
2172.30.1.254
3220.77.78.1
4–7112.174 → 112.190 → 142.250 → 72.14 ...
13–17* * * (no response)
18ri-in-f139.1e100.net (142.251.23.139)
T7 Log Forensics
wiiiv
Sky
Skytree
Extract errors and warnings from the last 24 hours using journalctl. Classify patterns by frequency and tell me if there are recurring issues.
W
wiiiv
Errors and warnings from the last 24 hours, sorted by frequency:
FrequencyPattern
276nginx-check.service: Failed with result 'exit-code'
276nginx-check.service: Failed to execute ... Exec format error
1sshd: error: kex_exchange_identification: read: Connection reset

Analysis:

The most significant recurring failure is nginx-check.service. The root cause is an Exec format error when running /usr/local/bin/nginx-check.sh, likely due to a missing shebang or file format issue.

wiiiv classifies log patterns and estimates the root cause. Rather than simply listing errors, it diagnosed the issue as "missing shebang or file format problem."
Kernel Tuning and Automation
T8 sysctl Kernel Tuning
wiiiv
Sky
Skytree
Check key kernel parameters with sysctl. Query net.ipv4.tcp_rmem, net.ipv4.tcp_wmem, fs.file-max, and vm.swappiness. Then set vm.swappiness to 10, save it to /etc/sysctl.d/99-tuning.conf, and apply.
W
wiiiv
Saved vm.swappiness = 10 to /etc/sysctl.d/99-tuning.conf and applied.
ParameterValue
net.ipv4.tcp_rmem4096 131072 6291456
net.ipv4.tcp_wmem4096 16384 4194304
fs.file-max9223372036854775807
vm.swappiness10 Applied
sudo usage: Writing to /etc/sysctl.d/ and running sysctl --system requires admin privileges. sudo is automatically handled using the password provided in T0.
T9 Backup Script + cron Automation
wiiiv
Sky
Skytree
Create a script at /usr/local/bin/daily-backup.sh that backs up /etc and key config files using tar. Store backups by date in /var/backup/ and include logic to auto-delete files older than 7 days. Register it in cron to run daily at 3 AM.
W
wiiiv
ItemValue
Script Path/usr/local/bin/daily-backup.sh
Script StatusCreated
Script Size523 bytes

Script contents:

#!/bin/bash set -euo pipefail BACKUP_DIR="/var/backup" DATE="$(date +%F)" TARGET_DIR="$BACKUP_DIR/$DATE" ARCHIVE="$TARGET_DIR/etc-backup-$DATE.tar.gz" mkdir -p "$TARGET_DIR" tar -czf "$ARCHIVE" \ /etc \ /etc/cron.d \ /etc/sysctl.d \ /usr/local/bin \ --exclude='/var/backup' find "$BACKUP_DIR" -mindepth 1 -maxdepth 1 \ -type d -mtime +7 -exec rm -rf {} \; echo "backup created: $ARCHIVE"
Safety Controls: OsHazardGuard
T10 Disk Stress Test — dd Blocked
wiiiv
Sky
Skytree
Run a disk stress test with dd if=/dev/zero of=/tmp/disk_pressure.img bs=1M count=400. Compare the before/after state with df -h /tmp, then delete the file to restore.
W
wiiiv
🛑
Blocked by safety policy
dd if=/dev/zero of=/tmp/disk_pressure.img bs=1M count=400
Reason: Detected as destructive/high-risk disk operation
ItemStatus
Commanddd if=/dev/zero of=/tmp/disk_pressure.img ...
ResultBlocked
File CreatedNone
OsHazardGuard in action: dd if=/dev/zero is a destructive command pattern that writes large amounts of data to disk. wiiiv automatically blocks this command even when explicitly requested by the user, and suggests safer alternatives instead. This is rule-based blocking, not an AI judgment call — it cannot be bypassed.
T11 Cleanup/Restore — rm Detected
wiiiv
Sky
Skytree
Clean up the temporary files created during this inspection. Delete /tmp/disk_pressure.img if it still exists, and restore /etc/sysctl.d/99-tuning.conf, /usr/local/bin/daily-backup.sh, and the cron registration to their original state.
W
wiiiv
OsHazardGuard — HAZARDOUS
Content: ssh.execute
Reason: Dangerous command detected — \brm\s+(-[rf]+|--recursive|--force)

Do you want to proceed?

T10 (dd) was fully blocked, while T11 (rm) awaits user approval after a warning. This demonstrates both modes of OsHazardGuard. Destructive data writes (dd) are unconditionally blocked, while file deletions (rm) can proceed after user confirmation.
04 — Tips

SSH Tips

No need to know the commands

Say "Analyze SSH login failure IPs" and wiiiv builds a 20-line journalctl + awk pipeline. Specialized tools like nftables, sysctl, and vmstat are all used through conversation.

Pre-register your connection details

Instead of entering passwords directly in conversation, you can pre-register SSH hosts in wiiiv settings. Registered hosts connect by name only, and connection details are stored encrypted on the server.

sudo tasks through conversation

Tasks requiring admin privileges — firewall setup (T4), kernel tuning (T8), cron registration (T9) — just say the word. The password provided at connection is automatically used for sudo authentication.

Dangerous commands are automatically blocked

OsHazardGuard detected two hazardous patterns: dd if=/dev/zero (T10) and rm -rf (T11). Blocking is rule-based, independent of AI judgment — so even if the AI accidentally generates a dangerous command, you're safe.

It goes beyond execution — it analyzes

In T3, it assessed MariaDB's all-interface binding as "Caution." In T7, it traced the nginx-check error to a "shebang issue." It doesn't just run commands — it performs analysis and diagnosis.

When verification fails, it says so honestly

In T4, after applying firewall rules, the nft list output was empty — and wiiiv reported "unable to confirm." It does not disguise an unverified result as success.