first commit
This commit is contained in:
@@ -0,0 +1 @@
|
||||
pip
|
||||
@@ -0,0 +1,277 @@
|
||||
Eclipse Public License - v 2.0
|
||||
|
||||
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
|
||||
PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
|
||||
OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
|
||||
|
||||
1. DEFINITIONS
|
||||
|
||||
"Contribution" means:
|
||||
|
||||
a) in the case of the initial Contributor, the initial content
|
||||
Distributed under this Agreement, and
|
||||
|
||||
b) in the case of each subsequent Contributor:
|
||||
i) changes to the Program, and
|
||||
ii) additions to the Program;
|
||||
where such changes and/or additions to the Program originate from
|
||||
and are Distributed by that particular Contributor. A Contribution
|
||||
"originates" from a Contributor if it was added to the Program by
|
||||
such Contributor itself or anyone acting on such Contributor's behalf.
|
||||
Contributions do not include changes or additions to the Program that
|
||||
are not Modified Works.
|
||||
|
||||
"Contributor" means any person or entity that Distributes the Program.
|
||||
|
||||
"Licensed Patents" mean patent claims licensable by a Contributor which
|
||||
are necessarily infringed by the use or sale of its Contribution alone
|
||||
or when combined with the Program.
|
||||
|
||||
"Program" means the Contributions Distributed in accordance with this
|
||||
Agreement.
|
||||
|
||||
"Recipient" means anyone who receives the Program under this Agreement
|
||||
or any Secondary License (as applicable), including Contributors.
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source Code or other
|
||||
form, that is based on (or derived from) the Program and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship.
|
||||
|
||||
"Modified Works" shall mean any work in Source Code or other form that
|
||||
results from an addition to, deletion from, or modification of the
|
||||
contents of the Program, including, for purposes of clarity any new file
|
||||
in Source Code form that contains any contents of the Program. Modified
|
||||
Works shall not include works that contain only declarations,
|
||||
interfaces, types, classes, structures, or files of the Program solely
|
||||
in each case in order to link to, bind by name, or subclass the Program
|
||||
or Modified Works thereof.
|
||||
|
||||
"Distribute" means the acts of a) distributing or b) making available
|
||||
in any manner that enables the transfer of a copy.
|
||||
|
||||
"Source Code" means the form of a Program preferred for making
|
||||
modifications, including but not limited to software source code,
|
||||
documentation source, and configuration files.
|
||||
|
||||
"Secondary License" means either the GNU General Public License,
|
||||
Version 2.0, or any later versions of that license, including any
|
||||
exceptions or additional permissions as identified by the initial
|
||||
Contributor.
|
||||
|
||||
2. GRANT OF RIGHTS
|
||||
|
||||
a) Subject to the terms of this Agreement, each Contributor hereby
|
||||
grants Recipient a non-exclusive, worldwide, royalty-free copyright
|
||||
license to reproduce, prepare Derivative Works of, publicly display,
|
||||
publicly perform, Distribute and sublicense the Contribution of such
|
||||
Contributor, if any, and such Derivative Works.
|
||||
|
||||
b) Subject to the terms of this Agreement, each Contributor hereby
|
||||
grants Recipient a non-exclusive, worldwide, royalty-free patent
|
||||
license under Licensed Patents to make, use, sell, offer to sell,
|
||||
import and otherwise transfer the Contribution of such Contributor,
|
||||
if any, in Source Code or other form. This patent license shall
|
||||
apply to the combination of the Contribution and the Program if, at
|
||||
the time the Contribution is added by the Contributor, such addition
|
||||
of the Contribution causes such combination to be covered by the
|
||||
Licensed Patents. The patent license shall not apply to any other
|
||||
combinations which include the Contribution. No hardware per se is
|
||||
licensed hereunder.
|
||||
|
||||
c) Recipient understands that although each Contributor grants the
|
||||
licenses to its Contributions set forth herein, no assurances are
|
||||
provided by any Contributor that the Program does not infringe the
|
||||
patent or other intellectual property rights of any other entity.
|
||||
Each Contributor disclaims any liability to Recipient for claims
|
||||
brought by any other entity based on infringement of intellectual
|
||||
property rights or otherwise. As a condition to exercising the
|
||||
rights and licenses granted hereunder, each Recipient hereby
|
||||
assumes sole responsibility to secure any other intellectual
|
||||
property rights needed, if any. For example, if a third party
|
||||
patent license is required to allow Recipient to Distribute the
|
||||
Program, it is Recipient's responsibility to acquire that license
|
||||
before distributing the Program.
|
||||
|
||||
d) Each Contributor represents that to its knowledge it has
|
||||
sufficient copyright rights in its Contribution, if any, to grant
|
||||
the copyright license set forth in this Agreement.
|
||||
|
||||
e) Notwithstanding the terms of any Secondary License, no
|
||||
Contributor makes additional grants to any Recipient (other than
|
||||
those set forth in this Agreement) as a result of such Recipient's
|
||||
receipt of the Program under the terms of a Secondary License
|
||||
(if permitted under the terms of Section 3).
|
||||
|
||||
3. REQUIREMENTS
|
||||
|
||||
3.1 If a Contributor Distributes the Program in any form, then:
|
||||
|
||||
a) the Program must also be made available as Source Code, in
|
||||
accordance with section 3.2, and the Contributor must accompany
|
||||
the Program with a statement that the Source Code for the Program
|
||||
is available under this Agreement, and informs Recipients how to
|
||||
obtain it in a reasonable manner on or through a medium customarily
|
||||
used for software exchange; and
|
||||
|
||||
b) the Contributor may Distribute the Program under a license
|
||||
different than this Agreement, provided that such license:
|
||||
i) effectively disclaims on behalf of all other Contributors all
|
||||
warranties and conditions, express and implied, including
|
||||
warranties or conditions of title and non-infringement, and
|
||||
implied warranties or conditions of merchantability and fitness
|
||||
for a particular purpose;
|
||||
|
||||
ii) effectively excludes on behalf of all other Contributors all
|
||||
liability for damages, including direct, indirect, special,
|
||||
incidental and consequential damages, such as lost profits;
|
||||
|
||||
iii) does not attempt to limit or alter the recipients' rights
|
||||
in the Source Code under section 3.2; and
|
||||
|
||||
iv) requires any subsequent distribution of the Program by any
|
||||
party to be under a license that satisfies the requirements
|
||||
of this section 3.
|
||||
|
||||
3.2 When the Program is Distributed as Source Code:
|
||||
|
||||
a) it must be made available under this Agreement, or if the
|
||||
Program (i) is combined with other material in a separate file or
|
||||
files made available under a Secondary License, and (ii) the initial
|
||||
Contributor attached to the Source Code the notice described in
|
||||
Exhibit A of this Agreement, then the Program may be made available
|
||||
under the terms of such Secondary Licenses, and
|
||||
|
||||
b) a copy of this Agreement must be included with each copy of
|
||||
the Program.
|
||||
|
||||
3.3 Contributors may not remove or alter any copyright, patent,
|
||||
trademark, attribution notices, disclaimers of warranty, or limitations
|
||||
of liability ("notices") contained within the Program from any copy of
|
||||
the Program which they Distribute, provided that Contributors may add
|
||||
their own appropriate notices.
|
||||
|
||||
4. COMMERCIAL DISTRIBUTION
|
||||
|
||||
Commercial distributors of software may accept certain responsibilities
|
||||
with respect to end users, business partners and the like. While this
|
||||
license is intended to facilitate the commercial use of the Program,
|
||||
the Contributor who includes the Program in a commercial product
|
||||
offering should do so in a manner which does not create potential
|
||||
liability for other Contributors. Therefore, if a Contributor includes
|
||||
the Program in a commercial product offering, such Contributor
|
||||
("Commercial Contributor") hereby agrees to defend and indemnify every
|
||||
other Contributor ("Indemnified Contributor") against any losses,
|
||||
damages and costs (collectively "Losses") arising from claims, lawsuits
|
||||
and other legal actions brought by a third party against the Indemnified
|
||||
Contributor to the extent caused by the acts or omissions of such
|
||||
Commercial Contributor in connection with its distribution of the Program
|
||||
in a commercial product offering. The obligations in this section do not
|
||||
apply to any claims or Losses relating to any actual or alleged
|
||||
intellectual property infringement. In order to qualify, an Indemnified
|
||||
Contributor must: a) promptly notify the Commercial Contributor in
|
||||
writing of such claim, and b) allow the Commercial Contributor to control,
|
||||
and cooperate with the Commercial Contributor in, the defense and any
|
||||
related settlement negotiations. The Indemnified Contributor may
|
||||
participate in any such claim at its own expense.
|
||||
|
||||
For example, a Contributor might include the Program in a commercial
|
||||
product offering, Product X. That Contributor is then a Commercial
|
||||
Contributor. If that Commercial Contributor then makes performance
|
||||
claims, or offers warranties related to Product X, those performance
|
||||
claims and warranties are such Commercial Contributor's responsibility
|
||||
alone. Under this section, the Commercial Contributor would have to
|
||||
defend claims against the other Contributors related to those performance
|
||||
claims and warranties, and if a court requires any other Contributor to
|
||||
pay any damages as a result, the Commercial Contributor must pay
|
||||
those damages.
|
||||
|
||||
5. NO WARRANTY
|
||||
|
||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
|
||||
PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
|
||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
|
||||
IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
|
||||
TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
|
||||
PURPOSE. Each Recipient is solely responsible for determining the
|
||||
appropriateness of using and distributing the Program and assumes all
|
||||
risks associated with its exercise of rights under this Agreement,
|
||||
including but not limited to the risks and costs of program errors,
|
||||
compliance with applicable laws, damage to or loss of data, programs
|
||||
or equipment, and unavailability or interruption of operations.
|
||||
|
||||
6. DISCLAIMER OF LIABILITY
|
||||
|
||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
|
||||
PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
|
||||
SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
|
||||
PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
|
||||
EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
7. GENERAL
|
||||
|
||||
If any provision of this Agreement is invalid or unenforceable under
|
||||
applicable law, it shall not affect the validity or enforceability of
|
||||
the remainder of the terms of this Agreement, and without further
|
||||
action by the parties hereto, such provision shall be reformed to the
|
||||
minimum extent necessary to make such provision valid and enforceable.
|
||||
|
||||
If Recipient institutes patent litigation against any entity
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that the
|
||||
Program itself (excluding combinations of the Program with other software
|
||||
or hardware) infringes such Recipient's patent(s), then such Recipient's
|
||||
rights granted under Section 2(b) shall terminate as of the date such
|
||||
litigation is filed.
|
||||
|
||||
All Recipient's rights under this Agreement shall terminate if it
|
||||
fails to comply with any of the material terms or conditions of this
|
||||
Agreement and does not cure such failure in a reasonable period of
|
||||
time after becoming aware of such noncompliance. If all Recipient's
|
||||
rights under this Agreement terminate, Recipient agrees to cease use
|
||||
and distribution of the Program as soon as reasonably practicable.
|
||||
However, Recipient's obligations under this Agreement and any licenses
|
||||
granted by Recipient relating to the Program shall continue and survive.
|
||||
|
||||
Everyone is permitted to copy and distribute copies of this Agreement,
|
||||
but in order to avoid inconsistency the Agreement is copyrighted and
|
||||
may only be modified in the following manner. The Agreement Steward
|
||||
reserves the right to publish new versions (including revisions) of
|
||||
this Agreement from time to time. No one other than the Agreement
|
||||
Steward has the right to modify this Agreement. The Eclipse Foundation
|
||||
is the initial Agreement Steward. The Eclipse Foundation may assign the
|
||||
responsibility to serve as the Agreement Steward to a suitable separate
|
||||
entity. Each new version of the Agreement will be given a distinguishing
|
||||
version number. The Program (including Contributions) may always be
|
||||
Distributed subject to the version of the Agreement under which it was
|
||||
received. In addition, after a new version of the Agreement is published,
|
||||
Contributor may elect to Distribute the Program (including its
|
||||
Contributions) under the new version.
|
||||
|
||||
Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
|
||||
receives no rights or licenses to the intellectual property of any
|
||||
Contributor under this Agreement, whether expressly, by implication,
|
||||
estoppel or otherwise. All rights in the Program not expressly granted
|
||||
under this Agreement are reserved. Nothing in this Agreement is intended
|
||||
to be enforceable by any entity that is not a Contributor or Recipient.
|
||||
No third-party beneficiary rights are created under this Agreement.
|
||||
|
||||
Exhibit A - Form of Secondary Licenses Notice
|
||||
|
||||
"This Source Code may also be made available under the following
|
||||
Secondary Licenses when the conditions for such availability set forth
|
||||
in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
|
||||
version(s), and exceptions or additional permissions here}."
|
||||
|
||||
Simply including a copy of this Agreement, including this Exhibit A
|
||||
is not sufficient to license the Source Code under Secondary Licenses.
|
||||
|
||||
If it is not possible or desirable to put the notice in a particular
|
||||
file, then You may include the notice in a location (such as a LICENSE
|
||||
file in a relevant directory) where a recipient would be likely to
|
||||
look for such a notice.
|
||||
|
||||
You may add additional accurate notices of copyright ownership.
|
||||
@@ -0,0 +1,279 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: asyncssh
|
||||
Version: 2.14.2
|
||||
Summary: AsyncSSH: Asynchronous SSHv2 client and server library
|
||||
Home-page: http://asyncssh.timeheart.net
|
||||
Author: Ron Frederick
|
||||
Author-email: ronf@timeheart.net
|
||||
License: Eclipse Public License v2.0
|
||||
Project-URL: Documentation, https://asyncssh.readthedocs.io
|
||||
Project-URL: Source, https://github.com/ronf/asyncssh
|
||||
Project-URL: Tracker, https://github.com/ronf/asyncssh/issues
|
||||
Platform: Any
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Environment :: Console
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: License :: OSI Approved
|
||||
Classifier: Operating System :: MacOS :: MacOS X
|
||||
Classifier: Operating System :: POSIX
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: 3.9
|
||||
Classifier: Programming Language :: Python :: 3.10
|
||||
Classifier: Programming Language :: Python :: 3.11
|
||||
Classifier: Programming Language :: Python :: 3.12
|
||||
Classifier: Topic :: Internet
|
||||
Classifier: Topic :: Security :: Cryptography
|
||||
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
||||
Classifier: Topic :: System :: Networking
|
||||
Requires-Python: >= 3.6
|
||||
License-File: LICENSE
|
||||
Requires-Dist: cryptography (>=39.0)
|
||||
Requires-Dist: typing-extensions (>=3.6)
|
||||
Provides-Extra: bcrypt
|
||||
Requires-Dist: bcrypt (>=3.1.3) ; extra == 'bcrypt'
|
||||
Provides-Extra: fido2
|
||||
Requires-Dist: fido2 (>=0.9.2) ; extra == 'fido2'
|
||||
Provides-Extra: gssapi
|
||||
Requires-Dist: gssapi (>=1.2.0) ; extra == 'gssapi'
|
||||
Provides-Extra: libnacl
|
||||
Requires-Dist: libnacl (>=1.4.2) ; extra == 'libnacl'
|
||||
Provides-Extra: pkcs11
|
||||
Requires-Dist: python-pkcs11 (>=0.7.0) ; extra == 'pkcs11'
|
||||
Provides-Extra: pyopenssl
|
||||
Requires-Dist: pyOpenSSL (>=23.0.0) ; extra == 'pyopenssl'
|
||||
Provides-Extra: pywin32
|
||||
Requires-Dist: pywin32 (>=227) ; extra == 'pywin32'
|
||||
|
||||
.. image:: https://readthedocs.org/projects/asyncssh/badge/?version=latest
|
||||
:target: https://asyncssh.readthedocs.io/en/latest/?badge=latest
|
||||
:alt: Documentation Status
|
||||
|
||||
.. image:: https://img.shields.io/pypi/v/asyncssh.svg
|
||||
:target: https://pypi.python.org/pypi/asyncssh/
|
||||
:alt: AsyncSSH PyPI Project
|
||||
|
||||
|
||||
AsyncSSH: Asynchronous SSH for Python
|
||||
=====================================
|
||||
|
||||
AsyncSSH is a Python package which provides an asynchronous client and
|
||||
server implementation of the SSHv2 protocol on top of the Python 3.6+
|
||||
asyncio framework.
|
||||
|
||||
.. code:: python
|
||||
|
||||
import asyncio, asyncssh, sys
|
||||
|
||||
async def run_client():
|
||||
async with asyncssh.connect('localhost') as conn:
|
||||
result = await conn.run('echo "Hello!"', check=True)
|
||||
print(result.stdout, end='')
|
||||
|
||||
try:
|
||||
asyncio.get_event_loop().run_until_complete(run_client())
|
||||
except (OSError, asyncssh.Error) as exc:
|
||||
sys.exit('SSH connection failed: ' + str(exc))
|
||||
|
||||
Check out the `examples`__ to get started!
|
||||
|
||||
__ http://asyncssh.readthedocs.io/en/stable/#client-examples
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
* Full support for SSHv2, SFTP, and SCP client and server functions
|
||||
|
||||
* Shell, command, and subsystem channels
|
||||
* Environment variables, terminal type, and window size
|
||||
* Direct and forwarded TCP/IP channels
|
||||
* OpenSSH-compatible direct and forwarded UNIX domain socket channels
|
||||
* Local and remote TCP/IP port forwarding
|
||||
* Local and remote UNIX domain socket forwarding
|
||||
* Dynamic TCP/IP port forwarding via SOCKS
|
||||
* X11 forwarding support on both the client and the server
|
||||
* SFTP protocol version 3 with OpenSSH extensions
|
||||
|
||||
* Experimental support for SFTP versions 4-6, when requested
|
||||
|
||||
* SCP protocol support, including third-party remote to remote copies
|
||||
|
||||
* Multiple simultaneous sessions on a single SSH connection
|
||||
* Multiple SSH connections in a single event loop
|
||||
* Byte and string based I/O with settable encoding
|
||||
* A variety of `key exchange`__, `encryption`__, and `MAC`__ algorithms
|
||||
|
||||
* Including OpenSSH post-quantum kex algorithm
|
||||
sntrup761x25519-sha512\@openssh.com
|
||||
|
||||
* Support for `gzip compression`__
|
||||
|
||||
* Including OpenSSH variant to delay compression until after auth
|
||||
|
||||
* User and host-based public key, password, and keyboard-interactive
|
||||
authentication methods
|
||||
|
||||
* Many types and formats of `public keys and certificates`__
|
||||
|
||||
* Including OpenSSH-compatible support for U2F and FIDO2 security keys
|
||||
* Including PKCS#11 support for accessing PIV security tokens
|
||||
* Including support for X.509 certificates as defined in RFC 6187
|
||||
|
||||
* Support for accessing keys managed by `ssh-agent`__ on UNIX systems
|
||||
|
||||
* Including agent forwarding support on both the client and the server
|
||||
|
||||
* Support for accessing keys managed by PuTTY's Pageant agent on Windows
|
||||
* Support for accessing host keys via OpenSSH's ssh-keysign
|
||||
* OpenSSH-style `known_hosts file`__ support
|
||||
* OpenSSH-style `authorized_keys file`__ support
|
||||
* Partial support for `OpenSSH-style configuration files`__
|
||||
* Compatibility with OpenSSH "Encrypt then MAC" option for better security
|
||||
* Time and byte-count based session key renegotiation
|
||||
* Designed to be easy to extend to support new forms of key exchange,
|
||||
authentication, encryption, and compression algorithms
|
||||
|
||||
__ http://asyncssh.readthedocs.io/en/stable/api.html#key-exchange-algorithms
|
||||
__ http://asyncssh.readthedocs.io/en/stable/api.html#encryption-algorithms
|
||||
__ http://asyncssh.readthedocs.io/en/stable/api.html#mac-algorithms
|
||||
__ http://asyncssh.readthedocs.io/en/stable/api.html#compression-algorithms
|
||||
__ http://asyncssh.readthedocs.io/en/stable/api.html#public-key-support
|
||||
__ http://asyncssh.readthedocs.io/en/stable/api.html#ssh-agent-support
|
||||
__ http://asyncssh.readthedocs.io/en/stable/api.html#known-hosts
|
||||
__ http://asyncssh.readthedocs.io/en/stable/api.html#authorized-keys
|
||||
__ http://asyncssh.readthedocs.io/en/stable/api.html#config-file-support
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
This package is released under the following terms:
|
||||
|
||||
Copyright (c) 2013-2022 by Ron Frederick <ronf@timeheart.net> and others.
|
||||
|
||||
This program and the accompanying materials are made available under
|
||||
the terms of the Eclipse Public License v2.0 which accompanies this
|
||||
distribution and is available at:
|
||||
|
||||
http://www.eclipse.org/legal/epl-2.0/
|
||||
|
||||
This program may also be made available under the following secondary
|
||||
licenses when the conditions for such availability set forth in the
|
||||
Eclipse Public License v2.0 are satisfied:
|
||||
|
||||
GNU General Public License, Version 2.0, or any later versions of
|
||||
that license
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
|
||||
|
||||
For more information about this license, please see the `Eclipse
|
||||
Public License FAQ <https://www.eclipse.org/legal/epl-2.0/faq.php>`_.
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
To use AsyncSSH 2.0 or later, you need the following:
|
||||
|
||||
* Python 3.6 or later
|
||||
* cryptography (PyCA) 3.1 or later
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
Install AsyncSSH by running:
|
||||
|
||||
::
|
||||
|
||||
pip install asyncssh
|
||||
|
||||
Optional Extras
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
There are some optional modules you can install to enable additional
|
||||
functionality:
|
||||
|
||||
* Install bcrypt from https://pypi.python.org/pypi/bcrypt
|
||||
if you want support for OpenSSH private key encryption.
|
||||
|
||||
* Install fido2 from https://pypi.org/project/fido2 if you want support
|
||||
for key exchange and authentication with U2F/FIDO2 security keys.
|
||||
|
||||
* Install python-pkcs11 from https://pypi.org/project/python-pkcs11 if
|
||||
you want support for accessing PIV keys on PKCS#11 security tokens.
|
||||
|
||||
* Install gssapi from https://pypi.python.org/pypi/gssapi if you
|
||||
want support for GSSAPI key exchange and authentication on UNIX.
|
||||
|
||||
* Install liboqs from https://github.com/open-quantum-safe/liboqs
|
||||
if you want support for the OpenSSH post-quantum key exchange
|
||||
algorithm sntrup761x25519-sha512\@openssh.com.
|
||||
|
||||
* Install libsodium from https://github.com/jedisct1/libsodium
|
||||
and libnacl from https://pypi.python.org/pypi/libnacl if you have
|
||||
a version of OpenSSL older than 1.1.1b installed and you want
|
||||
support for Curve25519 key exchange, Ed25519 keys and certificates,
|
||||
or the Chacha20-Poly1305 cipher.
|
||||
|
||||
* Install libnettle from http://www.lysator.liu.se/~nisse/nettle/
|
||||
if you want support for UMAC cryptographic hashes.
|
||||
|
||||
* Install pyOpenSSL from https://pypi.python.org/pypi/pyOpenSSL
|
||||
if you want support for X.509 certificate authentication.
|
||||
|
||||
* Install pywin32 from https://pypi.python.org/pypi/pywin32 if you
|
||||
want support for using the Pageant agent or support for GSSAPI
|
||||
key exchange and authentication on Windows.
|
||||
|
||||
AsyncSSH defines the following optional PyPI extra packages to make it
|
||||
easy to install any or all of these dependencies:
|
||||
|
||||
| bcrypt
|
||||
| fido2
|
||||
| gssapi
|
||||
| libnacl
|
||||
| pkcs11
|
||||
| pyOpenSSL
|
||||
| pywin32
|
||||
|
||||
For example, to install bcrypt, fido2, gssapi, libnacl, pkcs11, and
|
||||
pyOpenSSL on UNIX, you can run:
|
||||
|
||||
::
|
||||
|
||||
pip install 'asyncssh[bcrypt,fido2,gssapi,libnacl,pkcs11,pyOpenSSL]'
|
||||
|
||||
To install bcrypt, fido2, libnacl, pkcs11, pyOpenSSL, and pywin32 on
|
||||
Windows, you can run:
|
||||
|
||||
::
|
||||
|
||||
pip install 'asyncssh[bcrypt,fido2,libnacl,pkcs11,pyOpenSSL,pywin32]'
|
||||
|
||||
Note that you will still need to manually install the libsodium library
|
||||
listed above for libnacl to work correctly and/or libnettle for UMAC
|
||||
support. Unfortunately, since liboqs, libsodium, and libnettle are not
|
||||
Python packages, they cannot be directly installed using pip.
|
||||
|
||||
Installing the development branch
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If you would like to install the development branch of asyncssh directly
|
||||
from Github, you can use the following command to do this:
|
||||
|
||||
::
|
||||
|
||||
pip install git+https://github.com/ronf/asyncssh@develop
|
||||
|
||||
Mailing Lists
|
||||
-------------
|
||||
|
||||
Three mailing lists are available for AsyncSSH:
|
||||
|
||||
* `asyncssh-announce@googlegroups.com`__: Project announcements
|
||||
* `asyncssh-dev@googlegroups.com`__: Development discussions
|
||||
* `asyncssh-users@googlegroups.com`__: End-user discussions
|
||||
|
||||
__ http://groups.google.com/d/forum/asyncssh-announce
|
||||
__ http://groups.google.com/d/forum/asyncssh-dev
|
||||
__ http://groups.google.com/d/forum/asyncssh-users
|
||||
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
asyncssh-2.14.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
asyncssh-2.14.2.dist-info/LICENSE,sha256=C-zxZWe-t3-iUrdmRjHdF3yPmhiJ5ImVtFN5xxMOUwM,14198
|
||||
asyncssh-2.14.2.dist-info/METADATA,sha256=w0lt66_CpTPAygP5XLFGgbfCLO7nwnEoqSBaXBFZdZU,9897
|
||||
asyncssh-2.14.2.dist-info/RECORD,,
|
||||
asyncssh-2.14.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
asyncssh-2.14.2.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
||||
asyncssh-2.14.2.dist-info/top_level.txt,sha256=n1yXy2-yvQmweFl2J0szU1qlKxQ4Az6zfu0O35JV-0c,9
|
||||
asyncssh/__init__.py,sha256=1g7PFegXNQjtgWqDo3gpBIAO-QWRr0GU4Kb3TB5_N3g,8054
|
||||
asyncssh/__pycache__/__init__.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/agent.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/agent_unix.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/agent_win32.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/asn1.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/auth.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/auth_keys.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/channel.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/client.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/compression.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/config.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/connection.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/constants.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/dsa.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/ecdsa.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/eddsa.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/editor.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/encryption.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/forward.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/gss.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/gss_unix.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/gss_win32.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/kex.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/kex_dh.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/kex_rsa.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/keysign.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/known_hosts.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/listener.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/logging.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/mac.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/misc.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/packet.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/pattern.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/pbe.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/pkcs11.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/process.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/public_key.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/rsa.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/saslprep.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/scp.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/server.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/session.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/sftp.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/sk.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/sk_ecdsa.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/sk_eddsa.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/socks.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/stream.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/subprocess.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/version.cpython-312.pyc,,
|
||||
asyncssh/__pycache__/x11.cpython-312.pyc,,
|
||||
asyncssh/agent.py,sha256=J3jHE73ELyVYu8vnqLhz0iGLpt-K8mTaAsZbZf4jEIk,23553
|
||||
asyncssh/agent_unix.py,sha256=3viUx_0ciIJffJr9rJSfXrmWeMyLD-zdyCjHfly8LPs,1196
|
||||
asyncssh/agent_win32.py,sha256=uekboRXxadekOu7Ahg1SqvNKYq-bk5kl-Sn0a8mY_iU,5145
|
||||
asyncssh/asn1.py,sha256=UAeDMR8GkmSiQ_sAeA9j1CwyuDWfaWCU4aIQfNPMkW4,24462
|
||||
asyncssh/auth.py,sha256=rJ_h2R5DbFCuShqSLo60JokBxbyzLwLReYqVIeJ-IVE,33091
|
||||
asyncssh/auth_keys.py,sha256=Fi_VcL2E87GuoiHcrAzyh44i7gXyRl-nWXX_eIgZXF0,11821
|
||||
asyncssh/channel.py,sha256=PcLyvuGbz6D5hY1IxPxGh9zaVsRsSs7jsdLffVvg3os,78127
|
||||
asyncssh/client.py,sha256=ER_tMmoZ7EY7chr5nfQFpDc4d_F0E4LXMDjoiLhNYEk,16867
|
||||
asyncssh/compression.py,sha256=vqxm0EHor9bC95QwUsNXSD9ET9dBFv-bj0sj2JEHV5o,4162
|
||||
asyncssh/config.py,sha256=SmOhawdu3Euuu1R30vohLgM8CvI_luHEXxHbt4g2Xl8,22688
|
||||
asyncssh/connection.py,sha256=oLOebJUCAeGkJYUpCslUQSZPj90Uk5tkS9Twl0RZIZY,374903
|
||||
asyncssh/constants.py,sha256=OcTWx5gIclNDhwHBs4TqYin5bZen4LllRunU-4ILHqE,13385
|
||||
asyncssh/crypto/__init__.py,sha256=PJUwBAqU6x2Yl7vSC2xO_OEfTcOy9BF_ylCKAZd28Vc,2051
|
||||
asyncssh/crypto/__pycache__/__init__.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/chacha.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/cipher.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/dh.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/dsa.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/ec.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/ec_params.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/ed.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/kdf.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/misc.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/rsa.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/sntrup.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/umac.cpython-312.pyc,,
|
||||
asyncssh/crypto/__pycache__/x509.cpython-312.pyc,,
|
||||
asyncssh/crypto/chacha.py,sha256=woFZYS_t28rNJdrJK24X0sKcL1oHhgmYptkhk85y5nU,5573
|
||||
asyncssh/crypto/cipher.py,sha256=jVaHjKAqTjJ0dbouXbTzPbfE8RnXAWpNikH9ili6hxo,5925
|
||||
asyncssh/crypto/dh.py,sha256=EVyvIUEI6D81WBB2P7gIiY8frOedim0J2sTG0u85G9I,1547
|
||||
asyncssh/crypto/dsa.py,sha256=mSKlYjbVmzuyYqTTuWHGHDe9vgVa9YAWjnE5jlvEUjI,3811
|
||||
asyncssh/crypto/ec.py,sha256=mt1QxWkCr0nBpfKN9lVR1OulTBTnBWI_oYSVndgwtd4,6472
|
||||
asyncssh/crypto/ec_params.py,sha256=EzkbP5LYhha2ZPLgnIiwhBylDWV5YHiP1gsDw8AFmCU,4804
|
||||
asyncssh/crypto/ed.py,sha256=n2D60BPFKkTjOsrrv-bh_QZaAw62idDXAZ-qdlu0NyU,11179
|
||||
asyncssh/crypto/kdf.py,sha256=7g0sBD9OdVmyGxOsvw30EoEqdJs64GpSU8TgPJ-NJvg,1159
|
||||
asyncssh/crypto/misc.py,sha256=TUHa8mESY7W1C7_fFz0kh6bwXcDl-gFB8Yc8hivdbQ8,2401
|
||||
asyncssh/crypto/rsa.py,sha256=uty84Um1jZfEg-rp0cnM9kOIAT7OnCprJSH5YHiFgfk,5136
|
||||
asyncssh/crypto/sntrup.py,sha256=uECX9ESweu1KK8VB-LRQ72KAMY4DkHj0-E5adqUpHf0,2629
|
||||
asyncssh/crypto/umac.py,sha256=fSUtrHmot2vfSjxpkANSGKZjHhwPqXlmVeNfkZ_1WL4,4395
|
||||
asyncssh/crypto/x509.py,sha256=9Vy4gOdF6dVWg-NBuwrNvL1ROneO4byIvJuHt4hvEDk,15356
|
||||
asyncssh/dsa.py,sha256=ydZknIX_zDy2lRzRakb7KRySE51QqHRnI2EvsrrdTLY,8419
|
||||
asyncssh/ecdsa.py,sha256=iIyl5gguVN35Sh3qN2XpL7NCjcesNAf3EQEK7Kh-9-s,12211
|
||||
asyncssh/eddsa.py,sha256=-pz7FGVqSnVv5XqEZEUqfJjm7y0OEQZKyd9aJMeQpCc,7319
|
||||
asyncssh/editor.py,sha256=G1jdjEjUmhVfsEEWWmB5zjgcwwOZ_HxXYYL8eT0BG78,30401
|
||||
asyncssh/encryption.py,sha256=V2O3OvZdfKeGn2wFbAZCxL6jEvBWFNOC1k0mYyybBI4,11004
|
||||
asyncssh/forward.py,sha256=XypBezI05UEJfaBwVqmXcsO5Kjo-A0vkS9sbutuqfBQ,6101
|
||||
asyncssh/gss.py,sha256=FNCj36HjGNggMMcL8o52LW3AsHgZ9mq5Rem_Hhz3rYM,2007
|
||||
asyncssh/gss_unix.py,sha256=aCZq0bs-BDe3Rs-DxPlSHcN3jx2VDgvzRNm4WoTtBvY,4992
|
||||
asyncssh/gss_win32.py,sha256=PPruGO6nanw_gCbxORAeN5IrYQZIs8BuMxD1yzseXyM,5686
|
||||
asyncssh/kex.py,sha256=ypGs2c2ZlQtZXcrtBgpjxT3lfgWRakidfBxRae_j3g8,4456
|
||||
asyncssh/kex_dh.py,sha256=pxXHXftk45p2hKHh2ylN-nCEnLKmY15lHp6l9DGuQs8,32833
|
||||
asyncssh/kex_rsa.py,sha256=SvAmooth4v_qm9GoDZhxLySPy3mv272GYNOKw2AkVQs,5967
|
||||
asyncssh/keysign.py,sha256=0whrOHG1Y13y8-AMnxEfvOJBZaDWs3e_itbjTZU7GLo,3749
|
||||
asyncssh/known_hosts.py,sha256=T7S-4HgPHVNnm0cEex-2sqylMvwZYpjYZfm-UhxzRv4,14087
|
||||
asyncssh/listener.py,sha256=vRBXNBpnJ119V_vX1x6ttM9JWbTYc7_LSuRs3dUMn5o,12812
|
||||
asyncssh/logging.py,sha256=8Pga9jg1eaOupynKUAnJMBgui-CMAJOnFDJD164bsIM,7515
|
||||
asyncssh/mac.py,sha256=HbpEEWBruZiBkjOhI7vqKDNgo704l17W-58BlSowNko,7140
|
||||
asyncssh/misc.py,sha256=Dc3JqPOifmOSDJ4ual8t3Ohq3A7mVy9vKcKZkxPUKIQ,23665
|
||||
asyncssh/packet.py,sha256=JJcwDkgGeuvqZydroxHSw_a4UlAWaRRl27l6ElNrm0Y,6655
|
||||
asyncssh/pattern.py,sha256=DwJ7yyZhtIXqnS_wU1CZulAWtWXw7u4NBdNyOGzaGiU,4662
|
||||
asyncssh/pbe.py,sha256=FgVR7LnK0wnui08ovHGtWwPqPzwY9qx9zRv4BKJx_t4,20674
|
||||
asyncssh/pkcs11.py,sha256=_tY-YVRnnPDFdOP027KRxQuYJIuPwx1RTLaKApt4cLw,11479
|
||||
asyncssh/process.py,sha256=ZsEYg3uSkdSMzg6116Y9Hmx77ZwAr_SSxzhJSgF68do,62564
|
||||
asyncssh/public_key.py,sha256=iy46UfmNqodQzT2H-Trjq9gT_9FMOGry9xYPIzMi42c,138361
|
||||
asyncssh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
asyncssh/rsa.py,sha256=2AXD41d1Lowoyy3N-c-VfR6gYQcZFITae4qfbSxr8Ko,11474
|
||||
asyncssh/saslprep.py,sha256=PQPS-644PQInCq5JJ60l5838dnSac-lEuXYQ0AbbfY8,3599
|
||||
asyncssh/scp.py,sha256=fhdu6xN8kmjiTW9PYWoVXvmsthSXTf3XdYcafM08Mh8,37935
|
||||
asyncssh/server.py,sha256=JeWVJ_c_KPXc2rMJBkQ3OfW7UD7WdvTCiR0UpdPddgE,40824
|
||||
asyncssh/session.py,sha256=uVURjfqu4pk2MrWlre9vCS-fl8ZGKQx89vgo9PV0Y-Y,21523
|
||||
asyncssh/sftp.py,sha256=L9371j3WDlJg6Hxj2kkA3ifq9w5tG2xTAf8zrGSmmts,267754
|
||||
asyncssh/sk.py,sha256=qdam3dEkQ7i8Bg_U4Vp0Cll_QvXflt5Ut7N4rE1RsNs,9168
|
||||
asyncssh/sk_ecdsa.py,sha256=QQd5tAv2paRU3KSsub8QffTSg9KO_D663Kaig49esU8,7869
|
||||
asyncssh/sk_eddsa.py,sha256=_zjheLeL1TDtVb8VF-TnIsWyW753fEzbP0n9Pe_F15E,6892
|
||||
asyncssh/socks.py,sha256=QRvT0MqTNB6sG3pWjUcYN8Az-_m3Du9WvnHAJ_ICTpA,7581
|
||||
asyncssh/stream.py,sha256=ONnFrmt01egEWl9cOWHP2Sg7URv7HvGeoN5iY_Fb6-Q,29161
|
||||
asyncssh/subprocess.py,sha256=MUsSJgL-8H4Hke-0A7XJvE2mOc8Y1kgJafektzwct0w,10890
|
||||
asyncssh/version.py,sha256=QYo-PYvvDjui7igyJHv2CUGwK_VvUfeP6J4P7YZ18Wg,899
|
||||
asyncssh/x11.py,sha256=fS8-AZ7XXhxNueoBSDkwX68dveB2f-3H1CgxQORJR2c,17017
|
||||
@@ -0,0 +1,5 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.37.1)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
asyncssh
|
||||
Reference in New Issue
Block a user