# fakesshagent [![PyPI - Version](https://img.shields.io/pypi/v/fakesshagent.svg)](https://pypi.org/project/fakesshagent) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/fakesshagent.svg)](https://pypi.org/project/fakesshagent) A non-hardened implementation of the SSH agent protocol, for use in testing. `fakesshagent` was originally written to test [`derivepassphrase`][DERIVEPASSPHRASE]'s SSH agent interactions. As such, `fakesshagent` also registers as an abstract SSH agent socket provider for [`derivepassphrase`][DERIVEPASSPHRASE]. (The implementation is based on memory buffers, not external I/O with sockets.) In this first release, `fakesshagent` provides exactly the operations needed for use with `derivepassphrase`: listing available keys, and deterministically signing a fixed message (if possible with this key type), for a set of known test keys. See the wishlist for planned features of subsequent releases. [DERIVEPASSPHRASE]: https://the13thletter.info/derivepassphrase/ ----- ## Installation `fakesshagent` is a pure Python package, and may be easily installed with any `pip`-compatible Python package manager such as `pip`, `pipx`, or `uv`. ```console pip install fakesshagent ``` `fakesshagent` requires Python 3.9 or higher as well as the [typing-extensions package][TYPING_EXTENSIONS] and the [`derivepassphrase-sshagentsocketprovider` package][SASP] for its core functionality and programmatic interface. [TYPING_EXTENSIONS]: https://pypi.org/project/typing-extensions/ [SASP]: https://pypi.org/project/derivepassphrase-sshagentsocketprovider/ ## License `fakesshagent` is distributed under the terms of the [zlib/libpng](https://spdx.org/licenses/Zlib.html) license.