git.schokokeks.org
Repositories
Help
Report an Issue
derivepassphrase.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
6d9fecb
Branches
Tags
documentation-tree
master
unstable/cli-parser-state-machine
wishlist
0.1.0
0.1.1
0.1.2
0.1.3
0.2.0
0.3.0
0.3.1
0.3.2
0.3.3
0.4.0
0.5
0.5.1
0.5.2
0.6
0.6.1
ssh-agent-socket-provider-1.0
derivepassphrase.git
0.x
reference
derivepassphrase_sshagentsocketprovider
index.html
Deployed 187a871b384a to 0.x with MkDocs 1.6.1 and mike 2.2.0
Marco Ricci
commited
6d9fecb
at 2026-08-30 21:11:01
index.html
Blame
History
Raw
<!doctype html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="description" content="An almost faithful Python reimplementation of James Coglan's vault."> <meta name="author" content="Marco Ricci"> <link rel="canonical" href="https://the13thletter.info/derivepassphrase/0.x/reference/derivepassphrase_sshagentsocketprovider/"> <link rel="prev" href="../derivepassphrase.vault/"> <link rel="next" href="../prerequisites-ssh-key/"> <link rel="icon" href="../../assets/images/favicon.png"> <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16"> <title>API docs: Module derivepassphrase_sshagentsocketprovider - derivepassphrase</title> <link rel="stylesheet" href="../../assets/stylesheets/main.7e37652d.min.css"> <style>:root{--md-text-font:"Noto Sans";--md-code-font:"Noto Mono"}</style> <link rel="stylesheet" href="../../assets/_mkdocstrings.css"> <link rel="stylesheet" href="../../mkdocstrings_recommended_styles.css"> <link rel="stylesheet" href="../../wishlist_styling.css"> </head> <body dir="ltr"> <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> <label class="md-overlay" for="__drawer"></label> <div data-md-component="skip"> <a href="#derivepassphrase_sshagentsocketprovider" class="md-skip"> Skip to content </a> </div> <div data-md-component="announce"> </div> <div data-md-color-scheme="default" data-md-component="outdated" hidden> </div> <div class="md-container" data-md-component="container"> <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs"> <div class="md-grid"> <ul class="md-tabs__list"> <li class="md-tabs__item"> <a href="../.." class="md-tabs__link"> Overview </a> </li> <li class="md-tabs__item"> <a href="../../tutorials/" class="md-tabs__link"> Tutorials & Examples </a> </li> <li class="md-tabs__item"> <a href="../../how-tos/" class="md-tabs__link"> How-Tos </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href="../" class="md-tabs__link"> Reference </a> </li> <li class="md-tabs__item"> <a href="../../explanation/" class="md-tabs__link"> Design & Background </a> </li> <li class="md-tabs__item"> <a href="../../changelog/" class="md-tabs__link"> Changelog </a> </li> <li class="md-tabs__item"> <a href="../../wishlist/" class="md-tabs__link"> Wishlist </a> </li> </ul> </div> </nav> <main class="md-main" data-md-component="main"> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0"> <label class="md-nav__title" for="__drawer"> <a href="../.." title="derivepassphrase" class="md-nav__button md-logo" aria-label="derivepassphrase" data-md-component="logo"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> derivepassphrase </label> <div class="md-nav__source"> <a href="https://git.schokokeks.org/derivepassphrase.git" title="Go to repository" class="md-source" data-md-component="source"> <div class="md-source__icon md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg> </div> <div class="md-source__repository"> the-13th-letter/derivepassphrase </div> </a> </div> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../.." class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" > <div class="md-nav__link md-nav__container"> <a href="../../tutorials/" class="md-nav__link "> <span class="md-ellipsis"> Tutorials & Examples </span> </a> <label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2"> <span class="md-nav__icon md-icon"></span> Tutorials & Examples </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../tutorials/basic-setup-passphrase/" class="md-nav__link"> <span class="md-ellipsis"> Setting up derivepassphrase vault for three accounts, with a master passphrase </span> </a> </li> <li class="md-nav__item"> <a href="../../tutorials/basic-setup-ssh-key/" class="md-nav__link"> <span class="md-ellipsis"> Using a master SSH key with derivepassphrase vault on existing accounts </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" > <div class="md-nav__link md-nav__container"> <a href="../../how-tos/" class="md-nav__link "> <span class="md-ellipsis"> How-Tos </span> </a> <label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3"> <span class="md-nav__icon md-icon"></span> How-Tos </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../how-tos/ssh-key/" class="md-nav__link"> <span class="md-ellipsis"> How to set up derivepassphrase vault with an SSH key </span> </a> </li> <li class="md-nav__item"> <a href="../../how-tos/supported-special-characters/" class="md-nav__link"> <span class="md-ellipsis"> How to deal with “supported” and “unsupported” special characters </span> </a> </li> <li class="md-nav__item"> <a href="../../how-tos/passphrase-rotation/" class="md-nav__link"> <span class="md-ellipsis"> How to deal with regular passphrase rotation/rollover </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked> <div class="md-nav__link md-nav__container"> <a href="../" class="md-nav__link "> <span class="md-ellipsis"> Reference </span> </a> <label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true"> <label class="md-nav__title" for="__nav_4"> <span class="md-nav__icon md-icon"></span> Reference </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2" > <label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex=""> <span class="md-ellipsis"> Interfaces </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_2"> <span class="md-nav__icon md-icon"></span> Interfaces </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../ssh-agent-socket-providers/" class="md-nav__link"> <span class="md-ellipsis"> SSH agent socket providers </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" > <label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex=""> <span class="md-ellipsis"> Man pages </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_3"> <span class="md-nav__icon md-icon"></span> Man pages </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../derivepassphrase.1/" class="md-nav__link"> <span class="md-ellipsis"> derivepassphrase(1) </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase-vault.1/" class="md-nav__link"> <span class="md-ellipsis"> derivepassphrase-vault(1) </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase-export.1/" class="md-nav__link"> <span class="md-ellipsis"> derivepassphrase-export(1) </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase-export-vault.1/" class="md-nav__link"> <span class="md-ellipsis"> derivepassphrase-export-vault(1) </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" > <label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex=""> <span class="md-ellipsis"> API docs: Module derivepassphrase </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_4"> <span class="md-nav__icon md-icon"></span> API docs: Module derivepassphrase </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../derivepassphrase.cli/" class="md-nav__link"> <span class="md-ellipsis"> Submodule cli </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase.exporter/" class="md-nav__link"> <span class="md-ellipsis"> Subpackage exporter </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase.sequin/" class="md-nav__link"> <span class="md-ellipsis"> Submodule sequin </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase.ssh_agent/" class="md-nav__link"> <span class="md-ellipsis"> Submodule ssh_agent </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase._types/" class="md-nav__link"> <span class="md-ellipsis"> Submodule _types </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase.vault/" class="md-nav__link"> <span class="md-ellipsis"> Submodule vault </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> <label class="md-nav__link md-nav__link--active" for="__toc"> <span class="md-ellipsis"> API docs: Module derivepassphrase_sshagentsocketprovider </span> <span class="md-nav__icon md-icon"></span> </label> <a href="./" class="md-nav__link md-nav__link--active"> <span class="md-ellipsis"> API docs: Module derivepassphrase_sshagentsocketprovider </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.ENTRY_POINT_GROUP_NAME" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> ENTRY_POINT_GROUP_NAME </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> SSHAgentSocket </span> </a> <nav class="md-nav" aria-label=" SSHAgentSocket"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket.__enter__" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> __enter__ </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket.__exit__" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> __exit__ </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket.sendall" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> sendall </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket.recv" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> recv </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProvider" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> SSHAgentSocketProvider </span> </a> <nav class="md-nav" aria-label=" SSHAgentSocketProvider"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProvider.__call__" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> __call__ </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> SSHAgentSocketProviderEntry </span> </a> <nav class="md-nav" aria-label=" SSHAgentSocketProviderEntry"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.provider" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> provider </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.aliases" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> aliases </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_6" > <label class="md-nav__link" for="__nav_4_6" id="__nav_4_6_label" tabindex=""> <span class="md-ellipsis"> Technical prerequisites </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_6"> <span class="md-nav__icon md-icon"></span> Technical prerequisites </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../prerequisites-ssh-key/" class="md-nav__link"> <span class="md-ellipsis"> Using derivepassphrase vault with an SSH key </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > <div class="md-nav__link md-nav__container"> <a href="../../explanation/" class="md-nav__link "> <span class="md-ellipsis"> Design & Background </span> </a> <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5"> <span class="md-nav__icon md-icon"></span> Design & Background </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> <span class="md-ellipsis"> "altered versions" license requirement </span> </a> </li> <li class="md-nav__item"> <a href="../../explanation/faq-vault-interchangeable-passphrases/" class="md-nav__link"> <span class="md-ellipsis"> "interchangeable passphrases" in vault </span> </a> </li> <li class="md-nav__item"> <a href="../../explanation/tradeoffs-passphrase-ssh-key/" class="md-nav__link"> <span class="md-ellipsis"> tradeoffs between passphrase & SSH key </span> </a> </li> <li class="md-nav__item"> <a href="../../explanation/many-master-secrets/" class="md-nav__link"> <span class="md-ellipsis"> Should I use one master SSH key/master passphrase, or many? </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" > <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0"> <span class="md-ellipsis"> Changelog </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6"> <span class="md-nav__icon md-icon"></span> Changelog </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../changelog/" class="md-nav__link"> <span class="md-ellipsis"> Changelog </span> </a> </li> <li class="md-nav__item"> <a href="../../upgrade-notes/" class="md-nav__link"> <span class="md-ellipsis"> Upgrade notes </span> </a> </li> <li class="md-nav__item"> <a href="../../pycompatibility/" class="md-nav__link"> <span class="md-ellipsis"> Python compatibility </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" > <div class="md-nav__link md-nav__container"> <a href="../../wishlist/" class="md-nav__link "> <span class="md-ellipsis"> Wishlist </span> </a> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_7"> <span class="md-nav__icon md-icon"></span> Wishlist </label> <ul class="md-nav__list" data-md-scrollfix> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.ENTRY_POINT_GROUP_NAME" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> ENTRY_POINT_GROUP_NAME </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> SSHAgentSocket </span> </a> <nav class="md-nav" aria-label=" SSHAgentSocket"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket.__enter__" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> __enter__ </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket.__exit__" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> __exit__ </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket.sendall" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> sendall </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket.recv" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> recv </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProvider" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> SSHAgentSocketProvider </span> </a> <nav class="md-nav" aria-label=" SSHAgentSocketProvider"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProvider.__call__" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> __call__ </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> SSHAgentSocketProviderEntry </span> </a> <nav class="md-nav" aria-label=" SSHAgentSocketProviderEntry"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.provider" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> provider </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.aliases" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> aliases </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-content" data-md-component="content"> <article class="md-content__inner md-typeset"> <a href="https://git.schokokeks.org/derivepassphrase.git/raw/master/docs/reference/derivepassphrase_sshagentsocketprovider.md" title="View source of this page" class="md-content__button md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg> </a> <div class="doc doc-object doc-module"> <h1 id="derivepassphrase_sshagentsocketprovider" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-module"></code> <span class="doc doc-object-name doc-module-name">derivepassphrase_sshagentsocketprovider</span> <a href="#derivepassphrase_sshagentsocketprovider" class="headerlink" title="Permanent link">¶</a></h1> <div class="doc doc-contents first"> <p>Definitions for <code>derivepassphrase</code>’s SSH agent socket providers.</p> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h2 id="derivepassphrase_sshagentsocketprovider.ENTRY_POINT_GROUP_NAME" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">ENTRY_POINT_GROUP_NAME</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-module-attribute"><code>module-attribute</code></small> </span> <a href="#derivepassphrase_sshagentsocketprovider.ENTRY_POINT_GROUP_NAME" class="headerlink" title="Permanent link">¶</a></h2> <div class="doc-signature highlight"><pre><span></span><code><span class="n">ENTRY_POINT_GROUP_NAME</span> <span class="o">=</span> <span class="p">(</span> <span class="s2">"derivepassphrase.ssh_agent_socket_providers"</span> <span class="p">)</span> </code></pre></div> <div class="doc doc-contents "> <p>The name of the entry point group for SSH agent socket providers.</p> <p>We pledge to not change the interface of the entry point (name, type of the referred object) in a backwards-incompatible way without both</p> <ol> <li>increasing the major version number of the package, and</li> <li>changing the entry point name.</li> </ol> <p>(We cannot, however, guarantee that all consumers of this API will continue to support superseded entry point definitions forever. That is up to the individual API consumer to decide.)</p> </div> </div> <div class="doc doc-object doc-class"> <h2 id="derivepassphrase_sshagentsocketprovider.SSHAgentSocket" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">SSHAgentSocket</span> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket" class="headerlink" title="Permanent link">¶</a></h2> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" title="typing.Protocol" href="https://docs.python.org/3/library/typing.html#typing.Protocol">Protocol</a></code></p> <p>An abstract networking socket connected to an SSH agent.</p> <p>The abstract socket supports the <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/socket.html#socket.socket.sendall"><code>sendall</code></a> and a <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/socket.html#socket.socket.recv"><code>recv</code></a> operation, with the same signatures and semantics as for “real” sockets. The abstract socket also supports use as a context manager, for automatically closing the socket upon exiting the context.</p> <div class="doc doc-children"> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase_sshagentsocketprovider.SSHAgentSocket.__enter__" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">__enter__</span> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket.__enter__" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">__enter__</span><span class="p">()</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span> </code></pre></div> <div class="doc doc-contents "> <p>Returns self.</p> </div> </div> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase_sshagentsocketprovider.SSHAgentSocket.__exit__" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">__exit__</span> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket.__exit__" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">__exit__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#object">object</a></span><span class="p">)</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#bool">bool</a></span> <span class="o">|</span> <span class="kc">None</span> </code></pre></div> <div class="doc doc-contents "> <p>Closes the socket.</p> </div> </div> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase_sshagentsocketprovider.SSHAgentSocket.sendall" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">sendall</span> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket.sendall" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">sendall</span><span class="p">(</span><span class="n">data</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Buffer" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Buffer">Buffer</a></span><span class="p">,</span> <span class="n">flags</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> </code></pre></div> <div class="doc doc-contents "> <p>Like <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/socket.html#socket.socket.sendall">socket.socket.sendall</a>.</p> </div> </div> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase_sshagentsocketprovider.SSHAgentSocket.recv" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">recv</span> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket.recv" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">recv</span><span class="p">(</span><span class="n">bufsize</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span><span class="p">,</span> <span class="n">flags</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#bytes">bytes</a></span> </code></pre></div> <div class="doc doc-contents "> <p>Like <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/socket.html#socket.socket.recv">socket.socket.recv</a>.</p> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id="derivepassphrase_sshagentsocketprovider.SSHAgentSocketProvider" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">SSHAgentSocketProvider</span> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProvider" class="headerlink" title="Permanent link">¶</a></h2> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" title="typing.Protocol" href="https://docs.python.org/3/library/typing.html#typing.Protocol">Protocol</a></code></p> <p>A callable that provides an SSH agent socket.</p> <div class="doc doc-children"> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase_sshagentsocketprovider.SSHAgentSocketProvider.__call__" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">__call__</span> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProvider.__call__" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">__call__</span><span class="p">()</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-internal" title=" SSHAgentSocket (derivepassphrase_sshagentsocketprovider.SSHAgentSocket)" href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocket">SSHAgentSocket</a></span> </code></pre></div> <div class="doc doc-contents "> <p>Returns an SSH agent socket when called without arguments.</p> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id="derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">SSHAgentSocketProviderEntry</span> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry" class="headerlink" title="Permanent link">¶</a></h2> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" title="typing_extensions.NamedTuple" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NamedTuple">NamedTuple</a></code></p> <p>Registry information for the table of SSH agent socket providers.</p> <p>Third-party developers can register new socket providers for auto-discovery by setting up an entry point named <a class="autorefs autorefs-internal" title=" ENTRY_POINT_GROUP_NAME module-attribute " href="#derivepassphrase_sshagentsocketprovider.ENTRY_POINT_GROUP_NAME"><code>derivepassphrase.ssh_agent_socket_providers</code></a>, referencing an instance of this class. <code>derivepassphrase</code> will then add appropriate entries to the registry.</p> <p><span class="doc-section-title">Attributes:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" provider instance-attribute (derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.provider)" href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.provider">provider</a></code></td> <td> <code><a class="autorefs autorefs-internal" title=" SSHAgentSocketProvider (derivepassphrase_sshagentsocketprovider.SSHAgentSocketProvider)" href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProvider">SSHAgentSocketProvider</a></code> </td> <td> <div class="doc-md-description"> <p>The callable that provides the socket.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" key instance-attribute (derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.key)" href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.key">key</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></code> </td> <td> <div class="doc-md-description"> <p>The table key which this entry is registered as.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" aliases instance-attribute (derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.aliases)" href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.aliases">aliases</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#tuple">tuple</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>, ...]</code> </td> <td> <div class="doc-md-description"> <p>Other keys that shall point to this entry’s key.</p> </div> </td> </tr> </tbody> </table> <details class="note" open> <summary>Note</summary> <p>The socket provider registry table uses the key as the key, and the provider as the value. It does not store this info object directly.</p> </details> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.provider" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">provider</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.provider" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">provider</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-internal" title=" SSHAgentSocketProvider (derivepassphrase_sshagentsocketprovider.SSHAgentSocketProvider)" href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProvider">SSHAgentSocketProvider</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.key" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">key</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.key" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">key</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.aliases" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">aliases</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase_sshagentsocketprovider.SSHAgentSocketProviderEntry.aliases" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">aliases</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#tuple">tuple</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span><span class="p">,</span> <span class="o">...</span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> </div> </div> </div> </article> </div> </div> </main> <footer class="md-footer"> <nav class="md-footer__inner md-grid" aria-label="Footer" > <a href="../derivepassphrase.vault/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Submodule vault"> <div class="md-footer__button md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </div> <div class="md-footer__title"> <span class="md-footer__direction"> Previous </span> <div class="md-ellipsis"> Submodule vault </div> </div> </a> <a href="../prerequisites-ssh-key/" class="md-footer__link md-footer__link--next" aria-label="Next: Using derivepassphrase vault with an SSH key"> <div class="md-footer__title"> <span class="md-footer__direction"> Next </span> <div class="md-ellipsis"> Using derivepassphrase vault with an SSH key </div> </div> <div class="md-footer__button md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-copyright"> <div class="md-copyright__highlight"> Copyright © 2026 Marco Ricci (the-13th-letter) </div> Made with <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> Material for MkDocs </a> and <a href="https://mkdocstrings.github.io/python/" target="_blank" rel="noopener"> mkdocstrings-python </a> </div> </div> </div> </footer> </div> <div class="md-dialog" data-md-component="dialog"> <div class="md-dialog__inner md-typeset"></div> </div> </body> </html>