GitHub ↗

FAQ

Is this a web panel?

No. There is no website to log into and no server to run. It is one script you run in your own terminal.

Does it work for any VPS?

Yes — any VPS that accepts SSH. Change only the name and host per VPS.

Which script should I use on Windows?

PowerShell: connect-vps.ps1. Git Bash or WSL: connect-vps.sh. See the Windows tab for the full comparison. A .sh file does not run in PowerShell or CMD, and a .ps1 file does not run in CMD.

PowerShell blocks the script. What do I do?

Unblock just this file: Unblock-File .\connect-vps.ps1, then run it again. Or run it once without changing any policy: powershell -ExecutionPolicy Bypass -File .\connect-vps.ps1 -Name vps2 -Host <VPS-IP>

Why does the PowerShell version not use ssh-copy-id?

Windows OpenSSH has no ssh-copy-id. The PowerShell script copies the public key with a plain ssh command instead, sending only the key type + base64 body so quoting cannot mangle it.

Can I use it on more than one device?

Yes. Run the script once on each device. Each device gets its own key; the VPS accepts all of them.

Is my password stored anywhere?

No. If the VPS asks for a password on first copy, you type it only in your own terminal, at that prompt. Neither script stores, logs, or prints it, and neither puts it in a file, an environment variable, or a command. Never send a VPS password in chat, email, or a screenshot.

Is my private key sent to the VPS?

No. Only the .pub file is sent. The private key never leaves your device.

What if the test fails?

Check the IP, user, and port, then run again with the same alias — the block will be replaced, not duplicated. If the password was not accepted on first copy, no config change was made yet.

What was tested, and what was not?

Tested, with no real VPS contact: Bash syntax, help, dry-run, and temp-HOME runs (key reuse, backup, same-alias replacement, validation failures); PowerShell parse check, help, dry-run, validation failures, and a mock-ssh temp-HOME run (config replacement, backup, other hosts preserved, key sent intact). Not tested: a real VPS key copy, a real Windows PowerShell run, and a real phone (Termux) run. Test those yourself on a VPS you choose. Both scripts contact no VPS in dry-run mode.