[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CM97FEFFAMEQSPBP28FX9P":3,"skill-same:01M6CM97FEFFAMEQSPBP28FX9P":64},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":6,"ownerHtmlUrl":42,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":43,"install":44,"resources":57},"01M6CM97FEFFAMEQSPBP28FX9P","ssh-essentials",null,"Essential SSH commands for secure remote access, key management, tunneling, and file transfers.","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Farnarsson\u002Fssh-essentials\u002FSKILL.md",[],[18,19,20,21,22,23,24,25],"ssh","ssh essentials","secure","https","file","tunneling","access","management","2026-11-10 10:12:30",false,"---\nname: ssh-essentials\ndescription: Essential SSH commands for secure remote access, key management, tunneling, and file transfers.\nhomepage: https:\u002F\u002Fwww.openssh.com\u002F\nmetadata: {\"clawdbot\":{\"emoji\":\"?\",\"requires\":{\"bins\":[\"ssh\"]}}}\n---\n\n# SSH Essentials\n\nSecure Shell (SSH) for remote access and secure file transfers.\n\n## Basic Connection\n\n### Connecting\n```bash\n# Connect with username\nssh user@hostname\n\n# Connect to specific port\nssh user@hostname -p 2222\n\n# Connect with verbose output\nssh -v user@hostname\n\n# Connect with specific key\nssh -i ~\u002F.ssh\u002Fid_rsa user@hostname\n\n# Connect and run command\nssh user@hostname 'ls -la'\nssh user@hostname 'uptime && df -h'\n```\n\n### Interactive use\n```bash\n# Connect with forwarding agent\nssh -A user@hostname\n\n# Connect with X11 forwarding (GUI apps)\nssh -X user@hostname\nssh -Y user@hostname  # Trusted X11\n\n# Escape sequences (during session)\n# ~. - Disconnect\n# ~^Z - Suspend SSH\n# ~# - List forwarded connections\n# ~? - Help\n```\n\n## SSH Keys\n\n### Generating keys\n```bash\n# Generate RSA key\nssh-keygen -t rsa -b 4096 -C \"your_email@example.com\"\n\n# Generate ED25519 key (recommended)\nssh-keygen -t ed25519 -C \"your_email@example.com\"\n\n# Generate with custom filename\nssh-keygen -t ed25519 -f ~\u002F.ssh\u002Fid_myserver\n\n# Generate without passphrase (automation)\nssh-keygen -t ed25519 -N \"\" -f ~\u002F.ssh\u002Fid_deploy\n```\n\n### Managing keys\n```bash\n# Copy public key to server\nssh-copy-id user@hostname\n\n# Copy specific key\nssh-copy-id -i ~\u002F.ssh\u002Fid_rsa.pub user@hostname\n\n# Manual key copy\ncat ~\u002F.ssh\u002Fid_rsa.pub | ssh user@hostname 'cat >> ~\u002F.ssh\u002Fauthorized_keys'\n\n# Check key fingerprint\nssh-keygen -lf ~\u002F.ssh\u002Fid_rsa.pub\n\n# Change key passphrase\nssh-keygen -p -f ~\u002F.ssh\u002Fid_rsa\n```\n\n### SSH agent\n```bash\n# Start ssh-agent\neval $(ssh-agent)\n\n# Add key to agent\nssh-add ~\u002F.ssh\u002Fid_rsa\n\n# List keys in agent\nssh-add -l\n\n# Remove key from agent\nssh-add -d ~\u002F.ssh\u002Fid_rsa\n\n# Remove all keys\nssh-add -D\n\n# Set key lifetime (seconds)\nssh-add -t 3600 ~\u002F.ssh\u002Fid_rsa\n```\n\n## Port Forwarding & Tunneling\n\n### Local port forwarding\n```bash\n# Forward local port to remote\nssh -L 8080:localhost:80 user@hostname\n# Access via: http:\u002F\u002Flocalhost:8080\n\n# Forward to different remote host\nssh -L 8080:database.example.com:5432 user@jumphost\n# Access database through jumphost\n\n# Multiple forwards\nssh -L 8080:localhost:80 -L 3306:localhost:3306 user@hostname\n```\n\n### Remote port forwarding\n```bash\n# Forward remote port to local\nssh -R 8080:localhost:3000 user@hostname\n# Remote server can access localhost:3000 via its port 8080\n\n# Make service accessible from remote\nssh -R 9000:localhost:9000 user@publicserver\n```\n\n### Dynamic port forwarding (SOCKS proxy)\n```bash\n# Create SOCKS proxy\nssh -D 1080 user@hostname\n\n# Use with browser or apps\n# Configure SOCKS5 proxy: localhost:1080\n\n# With Firefox\nfirefox --profile $(mktemp -d) \\\n  --preferences \"network.proxy.type=1;network.proxy.socks=localhost;network.proxy.socks_port=1080\"\n```\n\n### Background tunnels\n```bash\n# Run in background\nssh -f -N -L 8080:localhost:80 user@hostname\n\n# -f: Background\n# -N: No command execution\n# -L: Local forward\n\n# Keep alive\nssh -o ServerAliveInterval=60 -L 8080:localhost:80 user@hostname\n```\n\n## Configuration\n\n### SSH config file (`~\u002F.ssh\u002Fconfig`)\n```\n# Simple host alias\nHost myserver\n    HostName 192.168.1.100\n    User admin\n    Port 2222\n\n# With key and options\nHost production\n    HostName prod.example.com\n    User deploy\n    IdentityFile ~\u002F.ssh\u002Fid_prod\n    ForwardAgent yes\n    \n# Jump host (bastion)\nHost internal\n    HostName 10.0.0.5\n    User admin\n    ProxyJump bastion\n\nHost bastion\n    HostName bastion.example.com\n    User admin\n\n# Wildcard configuration\nHost *.example.com\n    User admin\n    ForwardAgent yes\n    \n# Keep connections alive\nHost *\n    ServerAliveInterval 60\n    ServerAliveCountMax 3\n```\n\n### Using config\n```bash\n# Connect using alias\nssh myserver\n\n# Jump through bastion automatically\nssh internal\n\n# Override config options\nssh -o \"StrictHostKeyChecking=no\" myserver\n```\n\n## File Transfers\n\n### SCP (Secure Copy)\n```bash\n# Copy file to remote\nscp file.txt user@hostname:\u002Fpath\u002Fto\u002Fdestination\u002F\n\n# Copy file from remote\nscp user@hostname:\u002Fpath\u002Fto\u002Ffile.txt .\u002Flocal\u002F\n\n# Copy directory recursively\nscp -r \u002Flocal\u002Fdir user@hostname:\u002Fremote\u002Fdir\u002F\n\n# Copy with specific port\nscp -P 2222 file.txt user@hostname:\u002Fpath\u002F\n\n# Copy with compression\nscp -C large-file.zip user@hostname:\u002Fpath\u002F\n\n# Preserve attributes (timestamps, permissions)\nscp -p file.txt user@hostname:\u002Fpath\u002F\n```\n\n### SFTP (Secure FTP)\n```bash\n# Connect to SFTP server\nsftp user@hostname\n\n# Common SFTP commands:\n# pwd          - Remote working directory\n# lpwd         - Local working directory\n# ls           - List remote files\n# lls          - List local files\n# cd           - Change remote directory\n# lcd          - Change local directory\n# get file     - Download file\n# put file     - Upload file\n# mget *.txt   - Download multiple files\n# mput *.jpg   - Upload multiple files\n# mkdir dir    - Create remote directory\n# rmdir dir    - Remove remote directory\n# rm file      - Delete remote file\n# exit\u002Fbye     - Quit\n\n# Batch mode\nsftp -b commands.txt user@hostname\n```\n\n### Rsync over SSH\n```bash\n# Sync directory\nrsync -avz \u002Flocal\u002Fdir\u002F user@hostname:\u002Fremote\u002Fdir\u002F\n\n# Sync with progress\nrsync -avz --progress \u002Flocal\u002Fdir\u002F user@hostname:\u002Fremote\u002Fdir\u002F\n\n# Sync with delete (mirror)\nrsync -avz --delete \u002Flocal\u002Fdir\u002F user@hostname:\u002Fremote\u002Fdir\u002F\n\n# Exclude patterns\nrsync -avz --exclude '*.log' --exclude 'node_modules\u002F' \\\n  \u002Flocal\u002Fdir\u002F user@hostname:\u002Fremote\u002Fdir\u002F\n\n# Custom SSH port\nrsync -avz -e \"ssh -p 2222\" \u002Flocal\u002Fdir\u002F user@hostname:\u002Fremote\u002Fdir\u002F\n\n# Dry run\nrsync -avz --dry-run \u002Flocal\u002Fdir\u002F user@hostname:\u002Fremote\u002Fdir\u002F\n```\n\n## Security Best Practices\n\n### Hardening SSH\n```bash\n# Disable password authentication (edit \u002Fetc\u002Fssh\u002Fsshd_config)\nPasswordAuthentication no\nPubkeyAuthentication yes\n\n# Disable root login\nPermitRootLogin no\n\n# Change default port\nPort 2222\n\n# Use protocol 2 only\nProtocol 2\n\n# Limit users\nAllowUsers user1 user2\n\n# Restart SSH service\nsudo systemctl restart sshd\n```\n\n### Connection security\n```bash\n# Check host key\nssh-keygen -F hostname\n\n# Remove old host key\nssh-keygen -R hostname\n\n# Strict host key checking\nssh -o StrictHostKeyChecking=yes user@hostname\n\n# Use specific cipher\nssh -c aes256-ctr user@hostname\n```\n\n## Troubleshooting\n\n### Debugging\n```bash\n# Verbose output\nssh -v user@hostname\nssh -vv user@hostname  # More verbose\nssh -vvv user@hostname  # Maximum verbosity\n\n# Test connection\nssh -T user@hostname\n\n# Check permissions\nls -la ~\u002F.ssh\u002F\n# Should be: 700 for ~\u002F.ssh, 600 for keys, 644 for .pub files\n```\n\n### Common issues\n```bash\n# Fix permissions\nchmod 700 ~\u002F.ssh\nchmod 600 ~\u002F.ssh\u002Fid_rsa\nchmod 644 ~\u002F.ssh\u002Fid_rsa.pub\nchmod 644 ~\u002F.ssh\u002Fauthorized_keys\n\n# Clear known_hosts entry\nssh-keygen -R hostname\n\n# Disable host key checking (not recommended)\nssh -o StrictHostKeyChecking=no user@hostname\n```\n\n## Advanced Operations\n\n### Jump hosts (ProxyJump)\n```bash\n# Connect through bastion\nssh -J bastion.example.com user@internal.local\n\n# Multiple jumps\nssh -J bastion1,bastion2 user@final-destination\n\n# Using config (see Configuration section above)\nssh internal  # Automatically uses ProxyJump\n```\n\n### Multiplexing\n```bash\n# Master connection\nssh -M -S ~\u002F.ssh\u002Fcontrol-%r@%h:%p user@hostname\n\n# Reuse connection\nssh -S ~\u002F.ssh\u002Fcontrol-user@hostname:22 user@hostname\n\n# In config:\n# ControlMaster auto\n# ControlPath ~\u002F.ssh\u002Fcontrol-%r@%h:%p\n# ControlPersist 10m\n```\n\n### Execute commands\n```bash\n# Single command\nssh user@hostname 'uptime'\n\n# Multiple commands\nssh user@hostname 'cd \u002Fvar\u002Flog && tail -n 20 syslog'\n\n# Pipe commands\ncat local-script.sh | ssh user@hostname 'bash -s'\n\n# With sudo\nssh -t user@hostname 'sudo command'\n```\n\n## Tips\n\n- Use SSH keys instead of passwords\n- Use `~\u002F.ssh\u002Fconfig` for frequently accessed hosts\n- Enable SSH agent forwarding carefully (security risk)\n- Use ProxyJump for accessing internal networks\n- Keep SSH client and server updated\n- Use fail2ban or similar to prevent brute force\n- Monitor `\u002Fvar\u002Flog\u002Fauth.log` for suspicious activity\n- Use port knocking or VPN for additional security\n- Backup your SSH keys securely\n- Use different keys for different purposes\n\n## Documentation\n\nOfficial docs: https:\u002F\u002Fwww.openssh.com\u002Fmanual.html\nMan pages: `man ssh`, `man ssh_config`, `man sshd_config`\n","# SSH Essentials\n\nSecure Shell (SSH) for remote access and secure file transfers.\n\n## Basic Connection\n\n### Connecting\n```bash\n# Connect with username\nssh user@hostname\n\n# Connect to specific port\nssh user@hostname -p 2222\n\n# Connect with verbose output\nssh -v user@hostname\n\n# Connect with specific key\nssh -i ~\u002F.ssh\u002Fid_rsa user@hostname\n\n# Connect and run command\nssh user@hostname 'ls -la'\nssh user@hostname 'uptime && df -h'\n```\n\n### Interactive use\n```bash\n# Connect with forwarding agent\nssh -A user@hostname\n\n# Connect with X11 forwarding (GUI apps)\nssh -X user@hostname\nssh -Y user@hostname  # Trusted X11\n\n# Escape sequences (during session)\n# ~. - Disconnect\n# ~^Z - Suspend SSH\n# ~# - List forwarded connections\n# ~? - Help\n```\n\n## SSH Keys\n\n### Generating keys\n```bash\n# Generate RSA key\nssh-keygen -t rsa -b 4096 -C \"your_email@example.com\"\n\n# Generate ED25519 key (recommended)\nssh-keygen -t ed25519 -C \"your_email@example.com\"\n\n# Generate with custom filename\nssh-keygen -t ed25519 -f ~\u002F.ssh\u002Fid_myserver\n\n# Generate without passphrase (automation)\nssh-keygen -t ed25519 -N \"\" -f ~\u002F.ssh\u002Fid_deploy\n```\n\n### Managing keys\n```bash\n# Copy public key to server\nssh-copy-id user@hostname\n\n# Copy specific key\nssh-copy-id -i ~\u002F.ssh\u002Fid_rsa.pub user@hostname\n\n# Manual key copy\ncat ~\u002F.ssh\u002Fid_rsa.pub | ssh user@hostname 'cat >> ~\u002F.ssh\u002Fauthorized_keys'\n\n# Check key fingerprint\nssh-keygen -lf ~\u002F.ssh\u002Fid_rsa.pub\n\n# Change key passphrase\nssh-keygen -p -f ~\u002F.ssh\u002Fid_rsa\n```\n\n### SSH agent\n```bash\n# Start ssh-agent\neval $(ssh-agent)\n\n# Add key to agent\nssh-add ~\u002F.ssh\u002Fid_rsa\n\n# List keys in agent\nssh-add -l\n\n# Remove key from agent\nssh-add -d ~\u002F.ssh\u002Fid_rsa\n\n# Remove all keys\nssh-add -D\n\n# Set key lifetime (seconds)\nssh-add -t 3600 ~\u002F.ssh\u002Fid_rsa\n```\n\n## Port Forwarding & Tunneling\n\n### Local port forwarding\n```bash\n# Forward local port to remote\nssh -L 8080:localhost:80 user@hostname\n# Access via: http:\u002F\u002Flocalhost:8080\n\n# Forward to different remote host\nssh -L 8080:database.example.com:5432 user@jumphost\n# Access database through jumphost\n\n# Multiple forwards\nssh -L 8080:localhost:80 -L 3306:localhost:3306 user@hostname\n```\n\n### Remote port forwarding\n```bash\n# Forward remote port to local\nssh -R 8080:localhost:3000 user@hostname\n# Remote server can access localhost:3000 via its port 8080\n\n# Make service accessible from remote\nssh -R 9000:localhost:9000 user@publicserver\n```\n\n### Dynamic port forwarding (SOCKS proxy)\n```bash\n# Create SOCKS proxy\nssh -D 1080 user@hostname\n\n# Use with browser or apps\n# Configure SOCKS5 proxy: localhost:1080\n\n# With Firefox\nfirefox --profile $(mktemp -d) \\\n  --preferences \"network.proxy.type=1;network.proxy.socks=localhost;network.proxy.socks_port=1080\"\n```\n\n### Background tunnels\n```bash\n# Run in background\nssh -f -N -L 8080:localhost:80 user@hostname\n\n# -f: Background\n# -N: No command execution\n# -L: Local forward\n\n# Keep alive\nssh -o ServerAliveInterval=60 -L 8080:localhost:80 user@hostname\n```\n\n## Configuration\n\n### SSH config file (`~\u002F.ssh\u002Fconfig`)\n```\n# Simple host alias\nHost myserver\n    HostName 192.168.1.100\n    User admin\n    Port 2222\n\n# With key and options\nHost production\n    HostName prod.example.com\n    User deploy\n    IdentityFile ~\u002F.ssh\u002Fid_prod\n    ForwardAgent yes\n    \n# Jump host (bastion)\nHost internal\n    HostName 10.0.0.5\n    User admin\n    ProxyJump bastion\n\nHost bastion\n    HostName bastion.example.com\n    User admin\n\n# Wildcard configuration\nHost *.example.com\n    User admin\n    ForwardAgent yes\n    \n# Keep connections alive\nHost *\n    ServerAliveInterval 60\n    ServerAliveCountMax 3\n```\n\n### Using config\n```bash\n# Connect using alias\nssh myserver\n\n# Jump through bastion automatically\nssh internal\n\n# Override config options\nssh -o \"StrictHostKeyChecking=no\" myserver\n```\n\n## File Transfers\n\n### SCP (Secure Copy)\n```bash\n# Copy file to remote\nscp file.txt user@hostname:\u002Fpath\u002Fto\u002Fdestination\u002F\n\n# Copy file from remote\nscp user@hostname:\u002Fpath\u002Fto\u002Ffile.txt .\u002Flocal\u002F\n\n# Copy directory recursively\nscp -r \u002Flocal\u002Fdir user@hostname:\u002Fremote\u002Fdir\u002F\n\n# Copy with specific port\nscp -P 2222 file.txt user@hostname:\u002Fpath\u002F\n\n# Copy with compression\nscp -C large-file.zip user@hostname:\u002Fpath\u002F\n\n# Preserve attributes (timestamps, permissions)\nscp -p file.txt user@hostname:\u002Fpath\u002F\n```\n\n### SFTP (Secure FTP)\n```bash\n# Connect to SFTP server\nsftp user@hostname\n\n# Common SFTP commands:\n# pwd          - Remote working directory\n# lpwd         - Local working directory\n# ls           - List remote files\n# lls          - List local files\n# cd           - Change remote directory\n# lcd          - Change local directory\n# get file     - Download file\n# put file     - Upload file\n# mget *.txt   - Download multiple files\n# mput *.jpg   - Upload multiple files\n# mkdir dir    - Create remote directory\n# rmdir dir    - Remove remote directory\n# rm file      - Delete remote file\n# exit\u002Fbye     - Quit\n\n# Batch mode\nsftp -b commands.txt user@hostname\n```\n\n### Rsync over SSH\n```bash\n# Sync directory\nrsync -avz \u002Flocal\u002Fdir\u002F user@hostname:\u002Fremote\u002Fdir\u002F\n\n# Sync with progress\nrsync -avz --progress \u002Flocal\u002Fdir\u002F user@hostname:\u002Fremote\u002Fdir\u002F\n\n# Sync with delete (mirror)\nrsync -avz --delete \u002Flocal\u002Fdir\u002F user@hostname:\u002Fremote\u002Fdir\u002F\n\n# Exclude patterns\nrsync -avz --exclude '*.log' --exclude 'node_modules\u002F' \\\n  \u002Flocal\u002Fdir\u002F user@hostname:\u002Fremote\u002Fdir\u002F\n\n# Custom SSH port\nrsync -avz -e \"ssh -p 2222\" \u002Flocal\u002Fdir\u002F user@hostname:\u002Fremote\u002Fdir\u002F\n\n# Dry run\nrsync -avz --dry-run \u002Flocal\u002Fdir\u002F user@hostname:\u002Fremote\u002Fdir\u002F\n```\n\n## Security Best Practices\n\n### Hardening SSH\n```bash\n# Disable password authentication (edit \u002Fetc\u002Fssh\u002Fsshd_config)\nPasswordAuthentication no\nPubkeyAuthentication yes\n\n# Disable root login\nPermitRootLogin no\n\n# Change default port\nPort 2222\n\n# Use protocol 2 only\nProtocol 2\n\n# Limit users\nAllowUsers user1 user2\n\n# Restart SSH service\nsudo systemctl restart sshd\n```\n\n### Connection security\n```bash\n# Check host key\nssh-keygen -F hostname\n\n# Remove old host key\nssh-keygen -R hostname\n\n# Strict host key checking\nssh -o StrictHostKeyChecking=yes user@hostname\n\n# Use specific cipher\nssh -c aes256-ctr user@hostname\n```\n\n## Troubleshooting\n\n### Debugging\n```bash\n# Verbose output\nssh -v user@hostname\nssh -vv user@hostname  # More verbose\nssh -vvv user@hostname  # Maximum verbosity\n\n# Test connection\nssh -T user@hostname\n\n# Check permissions\nls -la ~\u002F.ssh\u002F\n# Should be: 700 for ~\u002F.ssh, 600 for keys, 644 for .pub files\n```\n\n### Common issues\n```bash\n# Fix permissions\nchmod 700 ~\u002F.ssh\nchmod 600 ~\u002F.ssh\u002Fid_rsa\nchmod 644 ~\u002F.ssh\u002Fid_rsa.pub\nchmod 644 ~\u002F.ssh\u002Fauthorized_keys\n\n# Clear known_hosts entry\nssh-keygen -R hostname\n\n# Disable host key checking (not recommended)\nssh -o StrictHostKeyChecking=no user@hostname\n```\n\n## Advanced Operations\n\n### Jump hosts (ProxyJump)\n```bash\n# Connect through bastion\nssh -J bastion.example.com user@internal.local\n\n# Multiple jumps\nssh -J bastion1,bastion2 user@final-destination\n\n# Using config (see Configuration section above)\nssh internal  # Automatically uses ProxyJump\n```\n\n### Multiplexing\n```bash\n# Master connection\nssh -M -S ~\u002F.ssh\u002Fcontrol-%r@%h:%p user@hostname\n\n# Reuse connection\nssh -S ~\u002F.ssh\u002Fcontrol-user@hostname:22 user@hostname\n\n# In config:\n# ControlMaster auto\n# ControlPath ~\u002F.ssh\u002Fcontrol-%r@%h:%p\n# ControlPersist 10m\n```\n\n### Execute commands\n```bash\n# Single command\nssh user@hostname 'uptime'\n\n# Multiple commands\nssh user@hostname 'cd \u002Fvar\u002Flog && tail -n 20 syslog'\n\n# Pipe commands\ncat local-script.sh | ssh user@hostname 'bash -s'\n\n# With sudo\nssh -t user@hostname 'sudo command'\n```\n\n## Tips\n\n- Use SSH keys instead of passwords\n- Use `~\u002F.ssh\u002Fconfig` for frequently accessed hosts\n- Enable SSH agent forwarding carefully (security risk)\n- Use ProxyJump for accessing internal networks\n- Keep SSH client and server updated\n- Use fail2ban or similar to prevent brute force\n- Monitor `\u002Fvar\u002Flog\u002Fauth.log` for suspicious activity\n- Use port knocking or VPN for additional security\n- Backup your SSH keys securely\n- Use different keys for different purposes\n\n## Documentation\n\nOfficial docs: https:\u002F\u002Fwww.openssh.com\u002Fmanual.html\nMan pages: `man ssh`, `man ssh_config`, `man sshd_config`\n",{"name":5,"homepage":31,"metadata":32,"description":7},"https:\u002F\u002Fwww.openssh.com\u002F",{"clawdbot":33},{"emoji":34,"requires":35},"?",{"bins":36},[18],"main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Farnarsson\u002Fssh-essentials",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add kbarbel640-del\u002Fskills --skill ssh-essentials",{"tool":50,"command":51},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill ssh-essentials",{"tool":53,"command":54},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill ssh-essentials","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Farnarsson\u002Fssh-essentials\u002FSKILL.md",true,[58],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"_meta.json","REFERENCE","参考文档",283,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Farnarsson\u002Fssh-essentials\u002F_meta.json",[65,95,124,145,151,171],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":76,"publishedAt":26},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[71],{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,21,93,94],"crowd prompting","prompting","api","with","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","content","ai agents",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":106,"publishedAt":26},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[101],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[107,79,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,84,123],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking","use",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":133,"publishedAt":26},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[130],{"categoryNo":131,"categoryName":132,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000021","资料检索与研究",[134,135,136,137,138,139,140,80,141,121,123,142,79,143,144],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http","via",{"skillNo":146,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":150,"publishedAt":26},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[149],{"categoryNo":131,"categoryName":132,"taxonomyType":104,"taxonomyTypeDesc":105},[137,136,135,134,144,139,140,80,138,121,123,141,142,79,143],{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":26},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[158,159,160,161,162,163,164,165,166,167,168,169,170],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":181,"publishedAt":26},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[177,178],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},{"categoryNo":179,"categoryName":180,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000037","律师与法务",[182,183,184,185,80,186,187,37,188,142,189,190,191,192,193,21,194,195,196],"agent constitution","constitution","contracts","tree","query","base","log","check","Rules","projects","compliance","actions","state","governance","github"]