Skill: jarbcs1-prog/windows-android-ssh-remote-control (version 1.0.0)

--- name: windows-android-ssh-remote description: "Setup and guide for full remote control of a Windows PC from an Android device over the internet via SSH tunneling. Use for: remote desktop access, secure RDP over SSH, Windows-Android remote control." --- # Windows-Android SSH Remote Control This skill provides a secure workflow for setting up and using full remote control of a Windows PC from an Android device using SSH tunneling. This method is more secure than exposing RDP directly to the internet. ## Prerequisites - **Windows PC**: Windows 10/11 Pro or Enterprise (Home edition does not support RDP server). - **Android Device**: With internet access. - **Apps**: ConnectBot (or Termux) and Microsoft Remote Desktop on Android. ## Workflow Overview 1. **Windows Setup**: Enable RDP and OpenSSH Server. 2. **Network Configuration**: Port forward SSH (Port 22) or use a VPN/Tailscale. 3. **Android Setup**: Configure an SSH tunnel in ConnectBot. 4. **Remote Connection**: Connect via Microsoft Remote Desktop to `localhost`. ## Detailed Instructions ### 1. Windows PC Configuration Read the detailed Windows setup guide for enabling RDP and OpenSSH: - `/home/ubuntu/skills/windows-android-ssh-remote/references/windows_setup.md` ### 2. Android Device Configuration Read the detailed Android setup guide for configuring the SSH tunnel and RDP client: - `/home/ubuntu/skills/windows-android-ssh-remote/references/android_setup.md` ## Security Best Practices - **Use SSH Keys**: Disable password authentication in `sshd_config` and use public/private key pairs for maximum security. - **Change Default Port**: Consider changing the SSH port from 22 to a non-standard port (e.g., 2222) to reduce automated bot attacks. - **Use a VPN**: For the highest security, use a mesh VPN like **Tailscale** or **ZeroTier** instead of port forwarding. This eliminates the need to expose any ports to the public internet. ## Troubleshooting - **Connection Refused**: Ensure the `sshd` service is running on Windows and the firewall allows Port 22. - **RDP Fails**: Verify that the SSH tunnel is active in ConnectBot and that you are connecting to `127.0.0.1` in the RDP app. - **NLA Error**: If you get a Network Level Authentication error, ensure your Windows user account has a password and is part of the "Remote Desktop Users" group.

path: references/api_reference.md
content: # Reference Documentation for Windows Android Ssh Remote

This is a placeholder for detailed reference documentation.
Replace with actual reference content or delete if not needed.

Example real reference docs from other skills:
- product-management/references/communication.md - Comprehensive guide for status updates
- product-management/references/context_building.md - Deep-dive on gathering context
- bigquery/references/ - API references and query examples

## When Reference Docs Are Useful

Reference docs are ideal for:
- Comprehensive API documentation
- Detailed workflow guides
- Complex multi-step processes
- Information too lengthy for main SKILL.md
- Content that's only needed for specific use cases

## Structure Suggestions

### API Reference Example
- Overview
- Authentication
- Endpoints with examples
- Error codes
- Rate limits

### Workflow Guide Example
- Prerequisites
- Step-by-step instructions
- Common patterns
- Troubleshooting
- Best practices


path: references/windows_setup.md
content: # Windows PC Setup for SSH and RDP

## 1. Enable Remote Desktop (RDP)
1. Open **Settings** > **System** > **Remote Desktop**.
2. Toggle **Enable Remote Desktop** to **On**.
3. Note the PC name (though we will use `localhost` via the tunnel).
4. Ensure "Require computers to use Network Level Authentication (NLA) to connect" is checked for security.

## 2. Install and Start OpenSSH Server
1. Open **PowerShell** as Administrator.
2. Check if OpenSSH is installed:
   ```powershell
   Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*'
   ```
3. If not installed, run:
   ```powershell
   Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
   ```
4. Start the service and set to automatic:
   ```powershell
   Start-Service sshd
   Set-Service -Name sshd -StartupType 'Automatic'
   ```
5. Verify firewall rule:
   ```powershell
   Get-NetFirewallRule -Name *OpenSSH-Server* | select Name, DisplayName, Enabled
   ```

## 3. Configure Port Forwarding (If not using a VPN/Tailscale)
If the PC is behind a router, you must forward **Port 22 (TCP)** to the PC's local IP address in the router settings.
*   **Warning**: Exposing Port 22 to the internet is a security risk. Use strong passwords or, preferably, SSH keys.
*   **Alternative**: Use **Tailscale** or **ZeroTier** to create a private network, avoiding port forwarding entirely.


path: references/android_setup.md
content: # Android Setup for SSH Tunneling and RDP

## 1. Install Required Apps
1. **ConnectBot** (or **Termux**): For creating the SSH tunnel.
2. **Microsoft Remote Desktop**: For the actual remote control.

## 2. Configure SSH Tunnel in ConnectBot
1. Open **ConnectBot**.
2. Tap the **+** button to add a new host.
3. Enter `username@your-public-ip` (or `username@tailscale-ip`).
4. Save and connect.
5. Once connected, tap the **three dots** (menu) > **Port Forwards**.
6. Tap **Add port forward**:
   *   **Nickname**: `RDP Tunnel`
   *   **Type**: `Local`
   *   **Source port**: `3389` (or any free port like `13389`)
   *   **Destination**: `localhost:3389`
7. Tap **Create port forward**.
8. **Important**: Keep ConnectBot running in the background.

## 3. Configure Microsoft Remote Desktop
1. Open **Microsoft Remote Desktop**.
2. Tap **+** > **Add PC**.
3. **PC Name**: `127.0.0.1:3389` (or the source port you chose).
4. **User Account**: Enter your Windows username and password.
5. Tap **Save**.
6. Tap the PC icon to connect.


path: scripts/example.py
content: #!/usr/bin/env python3
"""
Example helper script for windows-android-ssh-remote

This is a placeholder script that can be executed directly.
Replace with actual implementation or delete if not needed.

Example real scripts from other skills:
- pdf/scripts/fill_fillable_fields.py - Fills PDF form fields
- pdf/scripts/convert_pdf_to_images.py - Converts PDF pages to images
"""

def main():
    print("This is an example script for windows-android-ssh-remote")
    # TODO: Add actual script logic here
    # This could be data processing, file conversion, API calls, etc.

if __name__ == "__main__":
    main()


path: templates/example_template.txt
content: # Example Template File

This placeholder represents where template files would be stored.
Replace with actual template files (templates, images, fonts, etc.) or delete if not needed.

Template files are NOT intended to be loaded into context, but rather used within
the output Manus produces.

Example template files from other skills:
- Brand guidelines: logo.png, slides_template.pptx
- Frontend builder: hello-world/ directory with HTML/React boilerplate
- Typography: custom-font.ttf, font-family.woff2
- Data: sample_data.csv, test_dataset.json

## Common Template Types

- Templates: .pptx, .docx, boilerplate directories
- Images: .png, .jpg, .svg, .gif
- Fonts: .ttf, .otf, .woff, .woff2
- Boilerplate code: Project directories, starter files
- Icons: .ico, .svg
- Data files: .csv, .json, .xml, .yaml

Note: This is a text placeholder. Actual templates can be any file type.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)