Skip to main content
XsiSec.com
HomeReposBlogProjectsPortfolio
© 2026 XsiSec.com
Security rules |security.txt
Updated 2026-08-15 · v1.0.0+2026-08-14.82f92cb · 82f92cb
← Back to overview
Security article

Create a supported SFTP plugin for shutter

Step-by-step guide to install Shutter on Ubuntu 24.04, enable annotations, and configure SFTP uploads to your own server for instant, shareable screenshot links

2025-09-152 tags
Tags

🎯 Goal

Install Shutter on Ubuntu 24.04, enable annotation tools, and configure it to automatically upload screenshots to your own web hosting using SFTP.


🛠️ Step 1 — Install Shutter

Shutter isn’t installed by default, but it’s available in Ubuntu’s repositories.

bash
sudo apt update
sudo apt install shutter

You can now launch Shutter from the application menu or by typing:

bash
shutter

🖌️ Step 2 — Enable the Edit (Annotate) Feature

Sometimes the Edit button is disabled if dependencies are missing. Install them like this:

bash
sudo apt install libgoo-canvas-perl

Now restart Shutter — the Edit option should be active, letting you crop, blur, draw arrows, and add text to your screenshots.


📤 Step 3 — Add SFTP Upload Support

By default, Shutter only supports FTP/Imgur/Dropbox uploads. To use SFTP we need a plugin.

  1. Install the required Perl library:
    bash
    sudo apt install libnet-sftp-foreign-perl
  2. Download the community SFTP plugin:
    bash
    wget https://raw.githubusercontent.com/elivin/shutter-sftp/master/SftpUpload.pm
  3. Move it into Shutter’s upload plugin directory:
    bash
    sudo mv SftpUpload.pm /usr/share/shutter/resources/system/upload_plugins/upload/
    sudo chmod +x /usr/share/shutter/resources/system/upload_plugins/upload/SftpUpload.pm

(Optional) To make SFTP the default, move other upload plugins into a backup folder:

bash
sudo mkdir -p /usr/share/shutter/resources/system/upload_plugins/upload.bak
cd /usr/share/shutter/resources/system/upload_plugins/upload
sudo mv !(SftpUpload.pm) ../upload.bak/

⚙️ Step 4 — Configure Your SFTP Settings

Create a JSON config file:

bash
nano ~/.config/shutter-sftp.json

Example contents (replace with your host/user/password):

json
{
  "host": "sftp.examplehost.com",
  "username": "exampleuser",
  "password": "EXAMPLE_PASSWORD",
  "port": 22,
  "directory": "screenshots",
  "link": "https://example.com/screenshots"
}

Save and exit.


🔑 Step 5 — Accept the Server’s Host Key

On first connection, SFTP asks if you trust the server. Pre-seed the key:

bash
ssh-keyscan -H sftp.examplehost.com >> ~/.ssh/known_hosts

This avoids Shutter getting stuck waiting for confirmation.


📂 Step 6 — Prepare the Remote Folder

Log in via SFTP and create the folder where screenshots will be stored:

bash
sftp exampleuser@sftp.examplehost.com
sftp> mkdir screenshots
sftp> bye

🖼️ Step 7 — Take and Upload Screenshots

  1. Launch Shutter.
  2. Take a screenshot (full screen, window, or selection).
  3. Annotate if needed (blur sensitive info, draw arrows, etc.).
  4. Click Upload → SFTP.
  5. Shutter uploads the file, and you get a direct link like:
    text
    https://example.com/screenshots/Selection_001.png

🧯 Troubleshooting

  • Upload fails with “authenticity of host can’t be established” → run ssh-keyscan as shown above.
  • Upload fails with “Permission denied” → check directory permissions on your server.
  • Upload goes to wrong folder → adjust directory in JSON.
  • Still defaults to other uploaders → remove/backup other plugins so only SFTP remains.

🛡️ Security Notes

  • Passwords in the JSON file are plain text. Restrict file permissions:
    bash
    chmod 600 ~/.config/shutter-sftp.json
  • Consider switching to SSH key authentication for better security.

🎉 Conclusion

With Shutter configured for SFTP, I can now capture, annotate, and instantly share screenshots hosted on my own domain with a simple link.
This makes it a powerful replacement for third-party screenshot tools that don’t integrate well with Ubuntu 24.04 and KDE.

Navigate

In this post

  1. 01🎯 Goal
  2. 02🛠️ Step 1 — Install Shutter
  3. 03🖌️ Step 2 — Enable the Edit (Annotate) Feature
  4. 04📤 Step 3 — Add SFTP Upload Support
  5. 05⚙️ Step 4 — Configure Your SFTP Settings
  6. 06🔑 Step 5 — Accept the Server’s Host Key
  7. 07📂 Step 6 — Prepare the Remote Folder
  8. 08🖼️ Step 7 — Take and Upload Screenshots
  9. 09🧯 Troubleshooting
  10. 10🛡️ Security Notes
  11. 11🎉 Conclusion
Search
Explore

Popular tags

Browse all 30 tags

Comments

0 comments

No comments yet — be the first to comment.