{"id":50315332,"url":"https://github.com/stmol/ssh-keys-manager-macos-app","last_synced_at":"2026-05-29T00:00:56.036Z","repository":{"id":354125457,"uuid":"1221607599","full_name":"Stmol/ssh-keys-manager-macos-app","owner":"Stmol","description":"A native macOS app for managing SSH keys, editing SSH config entries, and safely organizing your local SSH workspace.","archived":false,"fork":false,"pushed_at":"2026-05-25T20:28:55.000Z","size":4310,"stargazers_count":161,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-25T22:24:00.106Z","etag":null,"topics":["macos-app","ssh","ssh-key-manager","ssh-keys","tools"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Stmol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-26T12:54:27.000Z","updated_at":"2026-05-25T20:28:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Stmol/ssh-keys-manager-macos-app","commit_stats":null,"previous_names":["stmol/ssh-keys-manager-macos-app"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Stmol/ssh-keys-manager-macos-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stmol%2Fssh-keys-manager-macos-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stmol%2Fssh-keys-manager-macos-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stmol%2Fssh-keys-manager-macos-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stmol%2Fssh-keys-manager-macos-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Stmol","download_url":"https://codeload.github.com/Stmol/ssh-keys-manager-macos-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stmol%2Fssh-keys-manager-macos-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33630999,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["macos-app","ssh","ssh-key-manager","ssh-keys","tools"],"created_at":"2026-05-29T00:00:33.266Z","updated_at":"2026-05-29T00:00:56.021Z","avatar_url":"https://github.com/Stmol.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"assets/ssh_keys_manager_app_icon_mini.png\" alt=\"SSH Keys Manager logo\" width=\"112\" /\u003e\n\n\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003eSSH Keys Manager\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\nNative macOS app for browsing, copying, generating, and organizing SSH keys and SSH config entries.\n\n\u003c/div\u003e\n\n![SSH Keys Manager screenshot](assets/screenshots/keys_tab.png)\n\n## Table of Contents\n\n\u003col\u003e\n  \u003cli\u003e\u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#download\"\u003eDownload\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#ai-assisted-development\"\u003eAI-Assisted Development\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#build-from-source\"\u003eBuild From Source\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\n## About The Project\n\n**SSH Keys Manager** is a native macOS application focused on one job: making local SSH key management easier and safer.\n\nIt gives you a clean interface for working with private and public key files, reviewing SSH config entries, assigning `IdentityFile` values, and maintaining a local SSH workspace without dropping into a terminal for every routine change.\n\nThe app works with the default `~/.ssh` directory, but it can also point to a custom SSH workspace if you keep your keys somewhere else.\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#readme-top\"\u003eBack to top\u003c/a\u003e\u003c/p\u003e\n\n## Download\n\nYou can download a ready-to-run build from the project's [GitHub Releases](../../releases) page.\n\n\u003e [!IMPORTANT]\n\u003e The GitHub release build is currently unsigned and not notarized.\n\u003e\n\u003e If macOS shows `\"SSH Keys Manager.app\" is damaged and can't be opened` after you copy the app from the downloaded DMG into `/Applications`, remove the quarantine attribute and launch it again:\n\n```bash\nxattr -dr com.apple.quarantine \"/Applications/SSH Keys Manager.app\"\n```\n\n```bash\nopen \"/Applications/SSH Keys Manager.app\"\n```\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#readme-top\"\u003eBack to top\u003c/a\u003e\u003c/p\u003e\n\n## Features\n\n### SSH Key Workspace\n\nBrowse keys from `~/.ssh` or from a custom directory, inspect metadata, and keep related files in one place.\n\n### Generate, Rename, Duplicate, and Remove Keys\n\nCreate new key pairs with a selected filename, key type, comment, and optional passphrase. You can also rename existing keys, duplicate them, update comments, change passphrases, and remove files you no longer need.\n\n### SSH Config Editing\n\nCreate, edit, reorder, and delete `Host` blocks from your SSH config with a native form-based editor. The app also helps map hosts to available private keys through `IdentityFile` selection and can check whether configured SSH hosts are reachable directly from the sidebar.\n\n![SSH config editor](assets/screenshots/config_edit_host.png)\n\n### Menu Bar Access\n\nThe app includes a menu bar interface for quick access to your SSH keys. You can copy public and private keys directly from the menu bar without switching back to the main app window.\n\n### Read-Only Safety Mode\n\nFor extra safety, the app includes a **Read-only** mode.\n\nWhen enabled, it blocks operations that would modify existing SSH files, including editing, overwriting, renaming, and deleting. This is especially useful if you want to inspect and copy keys without risking accidental changes to a working SSH setup.\n\n![Settings and safety controls](assets/screenshots/settings_screen.png)\n\n### Native macOS Experience\n\nBuilt with Swift and SwiftUI, the app is designed to feel like a regular Mac utility instead of a wrapped web tool. It supports a menu bar workflow and a dedicated settings screen for SSH directory selection, config backup behavior, external tool paths, and safety controls.\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#readme-top\"\u003eBack to top\u003c/a\u003e\u003c/p\u003e\n\n## AI-Assisted Development\n\n\u003e [!IMPORTANT]\n\u003e This project was created with significant AI assistance, and that is intentional and transparent.\n\u003e\n\u003e Parts of the codebase were generated with AI, but the application was not shipped as unchecked output. The generated code was reviewed, corrected, and validated by a human developer before being kept in the project.\n\u003e\n\u003e That review process matters, but the app also includes an additional safety layer: **Read-only mode**. Even if you simply want to audit your SSH workspace and avoid all risk of modifying important files, the app can be switched into a mode that prevents destructive or file-changing operations.\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#readme-top\"\u003eBack to top\u003c/a\u003e\u003c/p\u003e\n\n## Build From Source\n\nYou can build the app yourself from source by cloning the repository.\n\n### Option 1: Open in Xcode\n\n```bash\ngit clone https://github.com/Stmol/ssh-keys-manager-macos-app.git\ncd ssh-keys-manager\nopen \"SSH Keys Manager.xcodeproj\"\n```\n\nThen build and run the `SSH Keys Manager` scheme from Xcode.\n\n### Option 2: Build a Release DMG from the command line\n\nThe repository includes a release packaging pipeline that builds an unsigned macOS release and produces a DMG locally.\n\n```bash\ngit clone https://github.com/Stmol/ssh-keys-manager-macos-app.git\ncd ssh-keys-manager\nmake release-dmg VERSION=v0.1.0\n```\n\nOr build the full set of release assets:\n\n```bash\nmake release-assets VERSION=v0.1.0\n```\n\nThis produces:\n\n- `dist/SSH-Keys-Manager-v0.1.0.dmg`\n- `dist/SSH-Keys-Manager.dmg`\n- `dist/SSH-Keys-Manager-v0.1.0-dSYMs.zip`\n\n### Option 3: Build a Local Release App and Install It into `/Applications`\n\nIf you want to use the app on your own Mac like a regular application, you can build the release `.app` locally and copy it into `/Applications`:\n\n```bash\ngit clone https://github.com/Stmol/ssh-keys-manager-macos-app.git\ncd ssh-keys-manager\nmake release-app VERSION=v0.1.0\nditto \"build/release/Products/Release/SSH Keys Manager.app\" \"/Applications/SSH Keys Manager.app\"\nopen \"/Applications/SSH Keys Manager.app\"\n```\n\nThe locally built app is usually the simplest option for personal use because it does not come from a quarantined internet download.\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#readme-top\"\u003eBack to top\u003c/a\u003e\u003c/p\u003e\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n\u003cp align=\"right\"\u003e\u003ca href=\"#readme-top\"\u003eBack to top\u003c/a\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstmol%2Fssh-keys-manager-macos-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstmol%2Fssh-keys-manager-macos-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstmol%2Fssh-keys-manager-macos-app/lists"}