No description
Find a file
Daniel Baumann 8231957c3d
Releasing fastforward version 4.0.0-3~ffwd13+u1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2026-06-29 15:02:39 +02:00
.circleci Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
.github Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
debian Releasing fastforward version 4.0.0-3~ffwd13+u1. 2026-06-29 15:02:39 +02:00
demos Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
images Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
paramiko Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
sites Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
tests Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
.bzrignore Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
.codecov.yml Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
.codespellrc Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
.coveragerc Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
.flake8 Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
.git-blame-ignore-revs Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
.gitignore Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
codecov.yml Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
Dockerfile.i386 Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
LICENSE Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
MANIFEST.in Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
pyproject.toml Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
pytest.ini Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
README.rst Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
SECURITY.md Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
tasks.py Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
TODO Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00
uv.lock Adding upstream version 4.0.0. 2026-02-23 16:53:19 +01:00

|version| |python| |license| |ci| |coverage|

.. |version| image:: https://img.shields.io/pypi/v/paramiko
    :target: https://pypi.org/project/paramiko/
    :alt: PyPI - Package Version
.. |python| image:: https://img.shields.io/pypi/pyversions/paramiko
    :target: https://pypi.org/project/paramiko/
    :alt: PyPI - Python Version
.. |license| image:: https://img.shields.io/pypi/l/paramiko
    :target: https://github.com/paramiko/paramiko/blob/main/LICENSE
    :alt: PyPI - License
.. |ci| image:: https://img.shields.io/circleci/build/github/paramiko/paramiko/main
    :target: https://app.circleci.com/pipelines/github/paramiko/paramiko
    :alt: CircleCI
.. |coverage| image:: https://img.shields.io/codecov/c/gh/paramiko/paramiko
    :target: https://app.codecov.io/gh/paramiko/paramiko
    :alt: Codecov

Welcome to Paramiko!
====================

Paramiko is a pure-Python [#]_ implementation of the SSHv2 protocol [#]_,
providing both client and server functionality. It provides the foundation for
the high-level SSH library `Fabric <https://fabfile.org>`_, which is what we
recommend you use for common client use-cases such as running remote shell
commands or transferring files.

Direct use of Paramiko itself is only intended for users who need
advanced/low-level primitives or want to run an in-Python sshd.

For installation information, changelogs, FAQs and similar, please visit `our
main project website <https://paramiko.org>`_; for API details, see `the
versioned docs <https://docs.paramiko.org>`_. Additionally, the project
maintainer keeps a `roadmap <http://bitprophet.org/projects#roadmap>`_ on his
personal site.

.. [#]
    Paramiko relies on `cryptography <https://cryptography.io>`_ for crypto
    functionality, which makes use of C and Rust extensions but has many
    precompiled options available. See `our installation page
    <https://www.paramiko.org/installing.html>`_ for details.

.. [#]
    OpenSSH's RFC specification page is a fantastic resource and collection of
    links that we won't bother replicating here:
    https://www.openssh.com/specs.html

    OpenSSH itself also happens to be our primary reference implementation:
    when in doubt, we consult how they do things, unless there are good reasons
    not to. There are always some gaps, but we do our best to reconcile them
    when possible.