# 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
ssh-keygen -t ed25519 -C "your_email@example.com"
- When you're prompted to "Enter a file in which to save the key," press Enter. This accepts the default file location.
- At the prompt, type a secure passphrase.
# Web optimized
When a user uploads an image, we immediately convert it to webp
.
Then we have an API that serves those web optimized images.
# How does imgs integrate with other pico services?
We allow any of our other services to upload images from those services to imgs.
For example, if you want to upload images for prose.sh all you have to do is include
your images in the rsync
or scp
command.
scp profile.jpg user@prose.sh:/
Then when you want to reference the file, you can reference it like so:

# What file types are supported?
- jpg
- png
- gif
- webp
- svg
# Image manipulation
We have an API that allows users to resize images on-the-fly. Currently we only support downscaling.
[!profile](/profile/x500) # auto scale width [!profile](/profile/500x500) # scale width and height [!profile](/profile/500x) # auto scale height
# How do I update a img?
Updating a img requires that you update the source document and then run the scp
command again. If the filename remains the same, then the img will be updated.
# How do I delete a img?
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 img 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 img.
For example, if you want to delete delete.jpg
you could:
cp /dev/null delete.jpg scp ./delete.jpg imgs.sh:/
Alternatively, you can go to ssh imgs.sh
and select "Manage img."
Then you can highlight the img you want to delete and then press "X." It will ask for
confirmation before actually removing the img.
# 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 imgs (subdomains or DNS hosting with CNAME flattening) or A record
CNAME subdomain.yourcustomdomain.com -> imgs.sh
Resulting in:
subdomain.yourcustomdomain.com. 300 IN CNAME imgs.sh.
And a TXT record to tell Prose what blog is hosted on that domain at the subdomain entry _imgs
TXT _imgs.subdomain.yourcustomdomain.com -> yourusername
Resulting in:
_imgs.subdomain.yourcustomdomain.com. 300 IN TXT "hey"