Need help?

Here are some common questions on using this platform that we would like to answer.

# I get a permission denied when trying to SSH

Unfortunately SHA-2 RSA keys are not currently supported.

Unfortunately, due to a shortcoming in Go’s x/crypto/ssh package, we not currently support access via new SSH RSA keys: only the old SHA-1 ones will work. Until we sort this out you’ll either need an SHA-1 RSA key or a key with another algorithm, e.g. Ed25519. Not sure what type of keys you have? You can check with the following:

$ find ~/.ssh/id_*.pub -exec ssh-keygen -l -f {} \;

If you’re curious about the inner workings of this problem have a look at:

# Generating a new SSH key

Github reference

ssh-keygen -t ed25519 -C ""
  1. When you're prompted to "Enter a file in which to save the key," press Enter. This accepts the default file location.
  2. At the prompt, type a secure passphrase.

# CLI Commands

Our CLI commands are currently in active development so the list of available commands are changing.

The best way to learn about all the commands we support is via an SSH command:

ssh help

Having said that, we do want to demonstrate the power of by discussing design goals. All of our SSH commands are safe-by-default. Meaning, they never mutate server state by default. This provides users an opportunity to experiment with our commands to see how they work. In order to actually trigger server mutations, every command must be appended with --write.

Further, we want to make sure users are able to manage their static sites exclusively from SSH commands. Below is list of features we support via SSH commands:

# What file types are supported?

# User-defined Redirects

We support custom redirects via a special file _redirects. Read more about it at netflify

# Single-Page Applications (SPAs)

pgs supports SPAs! Upload a _redirects file your project:

/*  /index.html  200

# Setup a custom domain

A blog can be accessed from a custom domain. HTTPS will be automatically enabled and a certificate will be retrieved from Let's Encrypt. In order for this to work, 2 DNS records need to be created:

CNAME for the domain to pgs (subdomains or DNS hosting with CNAME flattening) or A record


Resulting in:         300     IN      CNAME

And a TXT record to tell Prose what blog is hosted on that domain at the subdomain entry _pgs

TXT -> yourusername

Resulting in:         300     IN      TXT     "hey"