Python实现 SSHv2 协议的异步客户端和服务器端:AsyncSSH

jopen 9年前

AsyncSSH这个 Python 包在Python asyncio框架的基础实现 SSHv2 协议的异步客户端和服务器端。求 Python 3.4 或者更新版本以及 PyCA 库或者是 PyCrypto 库用于加密功能。

显着特征:

  • Written from the ground up to be based on Python 3

  • Support for a number of key exchange methods
    • Diffie Hellman group1 and group14 with SHA1
    • Diffie Hellman group exchange with SHA1 and SHA256
    • Elliptic Curve Diffie Hellman (nistp256, nistp384, and nistp521)
    • Curve25519 (if curve25519-donna Python wrapper is installed)
    </dd></dl></li>
  • Support for multiple authentication methods
    • Password, public key, and keyboard-interactive
    • </ul> </dd></dl></li>
    • Support for a variety of public key formats
      • DSA, RSA, and ECDSA keys
      • PKCS#1/PKCS#8 DER and PEM, OpenSSH, and RFC4716 formats
      • Password-based encryption of private keys
      • </ul> </dd></dl></li>
      • Support for a variety of ciphers (provided via PyCA or PyCrypto)
        • AES, ARC4, Blowfish, CAST, and Triple DES
        • </ul> </dd></dl></li>
        • Support for a variety of MAC algorithms
          • HMAC with MD5, SHA1, SHA256, and SHA512
          • </ul> </dd></dl></li>
          • Support for gzip compression
            • Including OpenSSH variant to delay compression until after auth
            • </ul> </dd></dl></li>
            • Support for passing environment variables, terminal type, and window size

            • Support for multiple simultaneous sessions on a single SSH connection

            • Support for handling multiple SSH connections in a single event loop

            • Support for direct and forwarded TCP/IP channels

            • Support for both byte and string based I/O with settable encoding

            • 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 methods, ciphers, and compression algorithms

            • </ul>

              项目主页:http://www.open-open.com/lib/view/home/1418350026511