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, Soft Serve does 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.

# What should my blog folder look like?

Currently only supports a flat folder structure. Therefore, scp -r is not permitted. We also only allow .txt files to be uploaded.

Here is the source to my blog on this platform

Below is an example of what your blog folder should look like:


Underscores and hyphens are permitted and will be automatically removed from the title of the list.

# How do I update a list?

Updating a list requires that you update the source document and then run the scp command again. If the filename remains the same, then the list will be updated.

# How do I delete a list?

Because scp does not natively support deleting files, I didn't want to bake that behavior into my ssh server.

However, if a user wants to delete a post they can delete the contents of the file and then upload it to our server. If the file contains 0 bytes, we will remove the post. For example, if you want to delete delete.txt you could:

cp /dev/null delete.txt
scp ./delete.txt

Alternatively, you can go to ssh and select "Manage posts." Then you can highlight the post you want to delete and then press "X." It will ask for confirmation before actually removing the list.

# When I want to publish a new post, do I have to upload all posts everytime?

Nope! Just scp the file you want to publish. For example, if you created a new post called taco-tuesday.txt then you would publish it like this:

scp ./taco-tuesday.txt

# How do I change my blog's name?

All you have to do is create a post titled _header.txt and add some information to the list.

=: title My new blog!
=: description My blog description!
=> website
=> twitter

# How do I add an introduction to my blog?

All you have to do is create a post titled _readme.txt and add some information to the list.

=: list_type none
# Hi my name is Bob!
I like to sing. Dance. And I like to have fun fun fun!

Whatever is inside the _readme file will get rendered (as a list) right above your blog posts. Neat!

# How can I change the layout of my blog?

Inside the _header.txt metadata file, there's a variable layout option that will change the layout of your blog index page.

Currently supported options

# What is my blog URL?


# How can I automatically publish my post?

There is a github action that we built to make it easy to publish your blog automatically.

A user also created a systemd task to automatically publish new posts. Check out this github discussion for more details.

# Can I create multiple accounts?

Yes! You can either a) create a new keypair and use that for authentication or b) use the same keypair and ssh into our CMS using our special username ssh

Please note that if you use the same keypair for multiple accounts, you will need to always specify the user when logging into our CMS.