Skip to content

Add SSH-Agent plugin - #419

Open
martasskv5 wants to merge 5 commits into
noctalia-dev:mainfrom
martasskv5:main
Open

Add SSH-Agent plugin#419
martasskv5 wants to merge 5 commits into
noctalia-dev:mainfrom
martasskv5:main

Conversation

@martasskv5

Copy link
Copy Markdown

Plugin

  • Id: martasskv5/ssh-agent
  • New plugin
  • Update to an existing plugin (version bumped in plugin.toml)

What it does

Manage your SSH keys and saved sessions directly from the Noctalia bar. This plugin keeps a small SSH agent running in the background, lets you add or remove keys, and provides a panel for quick session management. Similar to PuTTY pagaent on Windows.

External dependencies

  • ssh - used for opening sessions
  • ssh-agent - agent running in background managing keys
  • ssh-add - for adding keys
  • zenity - used for browsing and selecting private ssh key file
  • mkdir - for creating non-existing directories
  • pkill - for stopping the ssh-agent proccess

For passphrase prompts:

  • ksshaskpass
  • ssh-askpass
  • lxqt-openssh-askpass

Agent socket is saved in /tmp directory by default

Testing

Opened the panel from bar and using IPC. Added the key using the Browse button. Verified key presence using ssh-add -l and by opening a new remote session.
Added new session using New Session button. Edited the save and then connected.
Everything works as intended.

  • Tested on Niri
  • Tested on Hyprland
  • Tested on Sway
  • Tested on another compositor:
  • Noctalia version tested against: 5.0.0_beta.8-1
  • Plugin API level: 9

Screenshots / Videos

thumbnail

Checklist

  • The directory name matches the part of id after the / in plugin.toml exactly.
  • It ships plugin.toml, README.md, thumbnail.webp, and translations/en.json.
  • README.md follows the
    README template, documents
    every entry id and dependency, and includes exact panel IPC commands and launcher prefixes where applicable.
  • I created thumbnail.webp with the thumbnail generator.
  • version follows semver and is bumped in this PR; plugin_api is the oldest API level this plugin requires.
  • Every non-English translation in this PR uses a locale supported by Noctalia core, and I can read, write, and
    understand that language well enough to review and maintain it (no unreviewed machine/LLM translations).
  • I did not edit catalog.toml; CI generates it.
  • This PR touches exactly one plugin directory.

Code review attestation

  • The code is readable and not obfuscated, minified, or generated.
  • It does not download and execute remote code.
  • Every network call, filesystem write, and spawned process is something the description above accounts for.
  • I have the right to publish this code under the license declared in plugin.toml.

@martasskv5
martasskv5 marked this pull request as draft August 20, 2026 14:08
@martasskv5
martasskv5 marked this pull request as ready for review August 20, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant