实例介绍
SSH.NET是一个专为.NET开发的安全外壳(SSH-2)库,通过并行化进行了优化。
【实例截图】

-
【核心代码】
文件清单
└── SSH.NET-71423c17f9df4d4e0c02c4c8127d206f561309ce
├── appveyor.yml
├── build
│ ├── build.proj
│ └── sandcastle
│ └── SSH.NET.shfbproj
├── CODEOWNERS
├── Directory.Build.props
├── docfx
│ ├── docfx.json
│ ├── docs
│ │ ├── features.md
│ │ ├── foreword.md
│ │ ├── toc.yml
│ │ └── usage.md
│ ├── images
│ │ ├── icon.png
│ │ └── logo.png
│ ├── index.md
│ └── toc.yml
├── global.json
├── images
│ └── logo
│ ├── ai
│ │ ├── SS-NET.ai
│ │ ├── SS-NET-icon.ai
│ │ ├── SS-NET-icon-white.ai
│ │ └── SS-NET-white.ai
│ ├── png
│ │ ├── SS-NET-1280x640.png
│ │ ├── SS-NET-h500.png
│ │ ├── SS-NET-h50.png
│ │ ├── SS-NET-icon-h500.png
│ │ ├── SS-NET-icon-h50.png
│ │ ├── SS-NET-icon-white-h500.png
│ │ ├── SS-NET-icon-white-h50.png
│ │ ├── SS-NET-white-h500.png
│ │ └── SS-NET-white-h50.png
│ └── svg
│ ├── SS-NET-icon.svg
│ ├── SS-NET-icon-white.svg
│ ├── SS-NET.svg
│ └── SS-NET-white.svg
├── LICENSE
├── README.md
├── Renci.SshNet.sln
├── Renci.SshNet.snk
├── src
│ ├── References
│ │ ├── How the SCP protocol works.pdf
│ │ ├── X.690-0207.pdf
│ │ └── X.690-0207.txt
│ └── Renci.SshNet
│ ├── Abstractions
│ │ ├── CryptoAbstraction.cs
│ │ ├── DiagnosticAbstraction.cs
│ │ ├── ReflectionAbstraction.cs
│ │ ├── SocketAbstraction.Async.cs
│ │ ├── SocketAbstraction.cs
│ │ ├── SocketExtensions.cs
│ │ └── ThreadAbstraction.cs
│ ├── AuthenticationMethod.cs
│ ├── AuthenticationResult.cs
│ ├── BaseClient.cs
│ ├── Channels
│ │ ├── Channel.cs
│ │ ├── ChannelDirectTcpip.cs
│ │ ├── ChannelForwardedTcpip.cs
│ │ ├── ChannelSession.cs
│ │ ├── ChannelTypes.cs
│ │ ├── ClientChannel.cs
│ │ ├── IChannel.cs
│ │ ├── IChannelDirectTcpip.cs
│ │ ├── IChannelForwardedTcpip.cs
│ │ ├── IChannelSession.cs
│ │ └── ServerChannel.cs
│ ├── CipherInfo.cs
│ ├── ClientAuthentication.cs
│ ├── CommandAsyncResult.cs
│ ├── Common
│ │ ├── AsyncResult`1.cs
│ │ ├── AsyncResult.cs
│ │ ├── AuthenticationBannerEventArgs.cs
│ │ ├── AuthenticationEventArgs.cs
│ │ ├── AuthenticationPasswordChangeEventArgs.cs
│ │ ├── AuthenticationPrompt.cs
│ │ ├── AuthenticationPromptEventArgs.cs
│ │ ├── BigInteger.cs
│ │ ├── ChannelDataEventArgs.cs
│ │ ├── ChannelEventArgs.cs
│ │ ├── ChannelExtendedDataEventArgs.cs
│ │ ├── ChannelInputStream.cs
│ │ ├── ChannelOpenConfirmedEventArgs.cs
│ │ ├── ChannelOpenFailedEventArgs.cs
│ │ ├── ChannelRequestEventArgs.cs
│ │ ├── DerData.cs
│ │ ├── ExceptionEventArgs.cs
│ │ ├── Extensions.cs
│ │ ├── HostKeyEventArgs.cs
│ │ ├── NetConfServerException.cs
│ │ ├── ObjectIdentifier.cs
│ │ ├── Pack.cs
│ │ ├── PacketDump.cs
│ │ ├── PipeStream.cs
│ │ ├── PortForwardEventArgs.cs
│ │ ├── PosixPath.cs
│ │ ├── ProxyException.cs
│ │ ├── ScpDownloadEventArgs.cs
│ │ ├── ScpException.cs
│ │ ├── ScpUploadEventArgs.cs
│ │ ├── SftpPathNotFoundException.cs
│ │ ├── SftpPermissionDeniedException.cs
│ │ ├── ShellDataEventArgs.cs
│ │ ├── SshAuthenticationException.cs
│ │ ├── SshConnectionException.cs
│ │ ├── SshData.cs
│ │ ├── SshDataStream.cs
│ │ ├── SshException.cs
│ │ ├── SshIdentificationEventArgs.cs
│ │ ├── SshOperationTimeoutException.cs
│ │ ├── SshPassPhraseNullOrEmptyException.cs
│ │ ├── TaskToAsyncResult.cs
│ │ ├── TerminalModes.cs
│ │ └── TimeSpanExtensions.cs
│ ├── Compression
│ │ ├── Compressor.cs
│ │ ├── Zlib.cs
│ │ └── ZlibOpenSsh.cs
│ ├── Connection
│ │ ├── ConnectorBase.cs
│ │ ├── DirectConnector.cs
│ │ ├── HttpConnector.cs
│ │ ├── IConnector.cs
│ │ ├── IProtocolVersionExchange.cs
│ │ ├── ISocketFactory.cs
│ │ ├── ProtocolVersionExchange.cs
│ │ ├── ProxyConnector.cs
│ │ ├── SocketFactory.cs
│ │ ├── Socks4Connector.cs
│ │ ├── Socks5Connector.cs
│ │ └── SshIdentification.cs
│ ├── ConnectionInfo.cs
│ ├── Documentation
│ │ ├── Renci.SshNet.content
│ │ └── SshNet.shfbproj
│ ├── ExpectAction.cs
│ ├── ForwardedPort.cs
│ ├── ForwardedPortDynamic.cs
│ ├── ForwardedPortLocal.cs
│ ├── ForwardedPortRemote.cs
│ ├── ForwardedPortStatus.cs
│ ├── HashInfo.cs
│ ├── IAuthenticationMethod.cs
│ ├── IBaseClient.cs
│ ├── IClientAuthentication.cs
│ ├── IConnectionInfo.cs
│ ├── IConnectionInfoInternal.cs
│ ├── IForwardedPort.cs
│ ├── IPrivateKeySource.cs
│ ├── IRemotePathTransformation.cs
│ ├── IServiceFactory.cs
│ ├── ISession.cs
│ ├── ISftpClient.cs
│ ├── ISubsystemSession.cs
│ ├── KeyboardInteractiveAuthenticationMethod.cs
│ ├── KeyboardInteractiveConnectionInfo.cs
│ ├── MessageEventArgs`1.cs
│ ├── Messages
│ │ ├── Authentication
│ │ │ ├── BannerMessage.cs
│ │ │ ├── FailureMessage.cs
│ │ │ ├── InformationRequestMessage.cs
│ │ │ ├── InformationResponseMessage.cs
│ │ │ ├── PasswordChangeRequiredMessage.cs
│ │ │ ├── PublicKeyMessage.cs
│ │ │ ├── RequestMessage.cs
│ │ │ ├── RequestMessageHost.cs
│ │ │ ├── RequestMessageKeyboardInteractive.cs
│ │ │ ├── RequestMessageNone.cs
│ │ │ ├── RequestMessagePassword.cs
│ │ │ ├── RequestMessagePublicKey.cs
│ │ │ └── SuccessMessage.cs
│ │ ├── Connection
│ │ │ ├── CancelTcpIpForwardGlobalRequestMessage.cs
│ │ │ ├── ChannelCloseMessage.cs
│ │ │ ├── ChannelDataMessage.cs
│ │ │ ├── ChannelEofMessage.cs
│ │ │ ├── ChannelExtendedDataMessage.cs
│ │ │ ├── ChannelFailureMessage.cs
│ │ │ ├── ChannelMessage.cs
│ │ │ ├── ChannelOpen
│ │ │ │ ├── ChannelOpenInfo.cs
│ │ │ │ ├── ChannelOpenMessage.cs
│ │ │ │ ├── DirectTcpipChannelInfo.cs
│ │ │ │ ├── ForwardedTcpipChannelInfo.cs
│ │ │ │ ├── SessionChannelOpenInfo.cs
│ │ │ │ └── X11ChannelOpenInfo.cs
│ │ │ ├── ChannelOpenConfirmationMessage.cs
│ │ │ ├── ChannelOpenFailureMessage.cs
│ │ │ ├── ChannelOpenFailureReasons.cs
│ │ │ ├── ChannelRequest
│ │ │ │ ├── BreakRequestInfo.cs
│ │ │ │ ├── ChannelRequestMessage.cs
│ │ │ │ ├── EndOfWriteRequestInfo.cs
│ │ │ │ ├── EnvironmentVariableRequestInfo.cs
│ │ │ │ ├── ExecRequestInfo.cs
│ │ │ │ ├── ExitSignalRequestInfo.cs
│ │ │ │ ├── ExitStatusRequestInfo.cs
│ │ │ │ ├── KeepAliveRequestInfo.cs
│ │ │ │ ├── PseudoTerminalRequestInfo.cs
│ │ │ │ ├── RequestInfo.cs
│ │ │ │ ├── ShellRequestInfo.cs
│ │ │ │ ├── SignalRequestInfo.cs
│ │ │ │ ├── SubsystemRequestInfo.cs
│ │ │ │ ├── UnknownRequestInfo.cs
│ │ │ │ ├── WindowChangeRequestInfo.cs
│ │ │ │ ├── X11ForwardingRequestInfo.cs
│ │ │ │ └── XonXoffRequestInfo.cs
│ │ │ ├── ChannelSuccessMessage.cs
│ │ │ ├── ChannelWindowAdjustMessage.cs
│ │ │ ├── GlobalRequestMessage.cs
│ │ │ ├── GlobalRequestName.cs
│ │ │ ├── RequestFailureMessage.cs
│ │ │ ├── RequestSuccessMessage.cs
│ │ │ └── TcpIpForwardGlobalRequestMessage.cs
│ │ ├── Message.cs
│ │ ├── ServiceName.cs
│ │ └── Transport
│ │ ├── DebugMessage.cs
│ │ ├── DisconnectMessage.cs
│ │ ├── DisconnectReason.cs
│ │ ├── IgnoreMessage.cs
│ │ ├── IKeyExchangedAllowed.cs
│ │ ├── KeyExchangeDhGroupExchangeGroup.cs
│ │ ├── KeyExchangeDhGroupExchangeInit.cs
│ │ ├── KeyExchangeDhGroupExchangeReply.cs
│ │ ├── KeyExchangeDhGroupExchangeRequest.cs
│ │ ├── KeyExchangeDhInitMessage.cs
│ │ ├── KeyExchangeDhReplyMessage.cs
│ │ ├── KeyExchangeEcdhInitMessage.cs
│ │ ├── KeyExchangeEcdhReplyMessage.cs
│ │ ├── KeyExchangeInitMessage.cs
│ │ ├── NewKeysMessage.cs
│ │ ├── ServiceAcceptMessage.cs
│ │ ├── ServiceRequestMessage.cs
│ │ └── UnimplementedMessage.cs
│ ├── Netconf
│ │ ├── INetConfSession.cs
│ │ └── NetConfSession.cs
│ ├── NetConfClient.cs
│ ├── NoneAuthenticationMethod.cs
│ ├── PasswordAuthenticationMethod.cs
│ ├── PasswordConnectionInfo.cs
│ ├── PrivateKeyAuthenticationMethod.cs
│ ├── PrivateKeyConnectionInfo.cs
│ ├── PrivateKeyFile.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── ProxyTypes.cs
│ ├── RemotePathDoubleQuoteTransformation.cs
│ ├── RemotePathNoneTransformation.cs
│ ├── RemotePathShellQuoteTransformation.cs
│ ├── RemotePathTransformation.cs
│ ├── Renci.SshNet.csproj
│ ├── ScpClient.cs
│ ├── Security
│ │ ├── Algorithm.cs
│ │ ├── BouncyCastle
│ │ │ ├── asn1
│ │ │ │ ├── sec
│ │ │ │ │ └── SECNamedCurves.cs
│ │ │ │ └── x9
│ │ │ │ ├── X9Curve.cs
│ │ │ │ ├── X9ECParameters.cs
│ │ │ │ ├── X9ECParametersHolder.cs
│ │ │ │ └── X9ECPoint.cs
│ │ │ ├── crypto
│ │ │ │ ├── agreement
│ │ │ │ │ └── ECDHCBasicAgreement.cs
│ │ │ │ ├── AsymmetricCipherKeyPair.cs
│ │ │ │ ├── AsymmetricKeyParameter.cs
│ │ │ │ ├── digests
│ │ │ │ │ ├── GeneralDigest.cs
│ │ │ │ │ └── Sha256Digest.cs
│ │ │ │ ├── generators
│ │ │ │ │ └── ECKeyPairGenerator.cs
│ │ │ │ ├── IAsymmetricCipherKeyPairGenerator.cs
│ │ │ │ ├── IDigest.cs
│ │ │ │ ├── KeyGenerationParameters.cs
│ │ │ │ ├── License.html
│ │ │ │ ├── parameters
│ │ │ │ │ ├── ECDomainParameters.cs
│ │ │ │ │ ├── ECKeyGenerationParameters.cs
│ │ │ │ │ ├── ECKeyParameters.cs
│ │ │ │ │ ├── ECPrivateKeyParameters.cs
│ │ │ │ │ └── ECPublicKeyParameters.cs
│ │ │ │ ├── prng
│ │ │ │ │ ├── CryptoApiRandomGenerator.cs
│ │ │ │ │ ├── DigestRandomGenerator.cs
│ │ │ │ │ └── IRandomGenerator.cs
│ │ │ │ └── util
│ │ │ │ └── Pack.cs
│ │ │ ├── math
│ │ │ │ ├── BigInteger.cs
│ │ │ │ ├── ec
│ │ │ │ │ ├── abc
│ │ │ │ │ │ ├── SimpleBigDecimal.cs
│ │ │ │ │ │ ├── Tnaf.cs
│ │ │ │ │ │ └── ZTauElement.cs
│ │ │ │ │ ├── ECAlgorithms.cs
│ │ │ │ │ ├── ECCurve.cs
│ │ │ │ │ ├── ECFieldElement.cs
│ │ │ │ │ ├── ECLookupTable.cs
│ │ │ │ │ ├── ECPoint.cs
│ │ │ │ │ ├── ECPointMap.cs
│ │ │ │ │ ├── endo
│ │ │ │ │ │ ├── ECEndomorphism.cs
│ │ │ │ │ │ └── GlvEndomorphism.cs
│ │ │ │ │ ├── LongArray.cs
│ │ │ │ │ └── multiplier
│ │ │ │ │ ├── AbstractECMultiplier.cs
│ │ │ │ │ ├── ECMultiplier.cs
│ │ │ │ │ ├── FixedPointCombMultiplier.cs
│ │ │ │ │ ├── FixedPointPreCompInfo.cs
│ │ │ │ │ ├── FixedPointUtilities.cs
│ │ │ │ │ ├── GlvMultiplier.cs
│ │ │ │ │ ├── IPreCompCallback.cs
│ │ │ │ │ ├── PreCompInfo.cs
│ │ │ │ │ ├── ValidityPreCompInfo.cs
│ │ │ │ │ ├── WNafL2RMultiplier.cs
│ │ │ │ │ ├── WNafPreCompInfo.cs
│ │ │ │ │ ├── WNafUtilities.cs
│ │ │ │ │ ├── WTauNafMultiplier.cs
│ │ │ │ │ └── WTauNafPreCompInfo.cs
│ │ │ │ ├── field
│ │ │ │ │ ├── FiniteFields.cs
│ │ │ │ │ ├── GenericPolynomialExtensionField.cs
│ │ │ │ │ ├── GF2Polynomial.cs
│ │ │ │ │ ├── IExtensionField.cs
│ │ │ │ │ ├── IFiniteField.cs
│ │ │ │ │ ├── IPolynomial.cs
│ │ │ │ │ ├── IPolynomialExtensionField.cs
│ │ │ │ │ └── PrimeField.cs
│ │ │ │ └── raw
│ │ │ │ ├── Mod.cs
│ │ │ │ └── Nat.cs
│ │ │ ├── security
│ │ │ │ ├── DigestUtilities.cs
│ │ │ │ ├── SecureRandom.cs
│ │ │ │ └── SecurityUtilityException.cs
│ │ │ └── util
│ │ │ ├── Arrays.cs
│ │ │ ├── BigIntegers.cs
│ │ │ ├── encoders
│ │ │ │ ├── Hex.cs
│ │ │ │ └── HexEncoder.cs
│ │ │ ├── IMemoable.cs
│ │ │ ├── Integers.cs
│ │ │ ├── MemoableResetException.cs
│ │ │ └── Times.cs
│ │ ├── CertificateHostAlgorithm.cs
│ │ ├── Chaos.NaCl
│ │ │ ├── CryptoBytes.cs
│ │ │ ├── Ed25519.cs
│ │ │ ├── Internal
│ │ │ │ ├── Array16.cs
│ │ │ │ ├── Array8.cs
│ │ │ │ ├── ByteIntegerConverter.cs
│ │ │ │ ├── Ed25519Ref10
│ │ │ │ │ ├── base2.cs
│ │ │ │ │ ├── base.cs
│ │ │ │ │ ├── d2.cs
│ │ │ │ │ ├── d.cs
│ │ │ │ │ ├── fe_0.cs
│ │ │ │ │ ├── fe_1.cs
│ │ │ │ │ ├── fe_add.cs
│ │ │ │ │ ├── fe_cmov.cs
│ │ │ │ │ ├── fe_cswap.cs
│ │ │ │ │ ├── fe_frombytes.cs
│ │ │ │ │ ├── fe_invert.cs
│ │ │ │ │ ├── fe_isnegative.cs
│ │ │ │ │ ├── fe_isnonzero.cs
│ │ │ │ │ ├── fe_mul121666.cs
│ │ │ │ │ ├── fe_mul.cs
│ │ │ │ │ ├── fe_neg.cs
│ │ │ │ │ ├── fe_pow22523.cs
│ │ │ │ │ ├── fe_sq2.cs
│ │ │ │ │ ├── fe_sq.cs
│ │ │ │ │ ├── fe_sub.cs
│ │ │ │ │ ├── fe_tobytes.cs
│ │ │ │ │ ├── FieldElement.cs
│ │ │ │ │ ├── ge_add.cs
│ │ │ │ │ ├── ge_double_scalarmult.cs
│ │ │ │ │ ├── ge_frombytes.cs
│ │ │ │ │ ├── ge_madd.cs
│ │ │ │ │ ├── ge_msub.cs
│ │ │ │ │ ├── ge_p1p1_to_p2.cs
│ │ │ │ │ ├── ge_p1p1_to_p3.cs
│ │ │ │ │ ├── ge_p2_0.cs
│ │ │ │ │ ├── ge_p2_dbl.cs
│ │ │ │ │ ├── ge_p3_0.cs
│ │ │ │ │ ├── ge_p3_dbl.cs
│ │ │ │ │ ├── ge_p3_tobytes.cs
│ │ │ │ │ ├── ge_p3_to_cached.cs
│ │ │ │ │ ├── ge_p3_to_p2.cs
│ │ │ │ │ ├── ge_precomp_0.cs
│ │ │ │ │ ├── ge_scalarmult_base.cs
│ │ │ │ │ ├── ge_sub.cs
│ │ │ │ │ ├── ge_tobytes.cs
│ │ │ │ │ ├── GroupElement.cs
│ │ │ │ │ ├── keypair.cs
│ │ │ │ │ ├── open.cs
│ │ │ │ │ ├── scalarmult.cs
│ │ │ │ │ ├── sc_clamp.cs
│ │ │ │ │ ├── sc_mul_add.cs
│ │ │ │ │ ├── sc_reduce.cs
│ │ │ │ │ ├── sign.cs
│ │ │ │ │ └── sqrtm1.cs
│ │ │ │ ├── InternalAssert.cs
│ │ │ │ ├── Poly1305Donna.cs
│ │ │ │ ├── Salsa
│ │ │ │ │ ├── replace regex.txt
│ │ │ │ │ ├── Salsa20.cs
│ │ │ │ │ └── SalsaCore.cs
│ │ │ │ └── Sha512Internal.cs
│ │ │ ├── License.txt
│ │ │ ├── MontgomeryCurve25519.cs
│ │ │ └── Sha512.cs
│ │ ├── Cryptography
│ │ │ ├── AsymmetricCipher.cs
│ │ │ ├── Bcrypt.cs
│ │ │ ├── BlockCipher.cs
│ │ │ ├── Cipher.cs
│ │ │ ├── CipherDigitalSignature.cs
│ │ │ ├── Ciphers
│ │ │ │ ├── AesCipher.BclImpl.cs
│ │ │ │ ├── AesCipher.BlockImpl.cs
│ │ │ │ ├── AesCipher.cs
│ │ │ │ ├── AesCipher.CtrImpl.cs
│ │ │ │ ├── AesCipherMode.cs
│ │ │ │ ├── AesGcmCipher.cs
│ │ │ │ ├── Arc4Cipher.cs
│ │ │ │ ├── BlowfishCipher.cs
│ │ │ │ ├── CastCipher.cs
│ │ │ │ ├── CipherMode.cs
│ │ │ │ ├── CipherPadding.cs
│ │ │ │ ├── DesCipher.cs
│ │ │ │ ├── Modes
│ │ │ │ │ ├── CbcCipherMode.cs
│ │ │ │ │ ├── CfbCipherMode.cs
│ │ │ │ │ ├── CtrCipherMode.cs
│ │ │ │ │ └── OfbCipherMode.cs
│ │ │ │ ├── Paddings
│ │ │ │ │ ├── PKCS5Padding.cs
│ │ │ │ │ └── PKCS7Padding.cs
│ │ │ │ ├── RsaCipher.cs
│ │ │ │ ├── SerpentCipher.cs
│ │ │ │ ├── TripleDesCipher.cs
│ │ │ │ └── TwofishCipher.cs
│ │ │ ├── DigitalSignature.cs
│ │ │ ├── DsaDigitalSignature.cs
│ │ │ ├── DsaKey.cs
│ │ │ ├── EcdsaDigitalSignature.cs
│ │ │ ├── EcdsaKey.cs
│ │ │ ├── ED25519DigitalSignature.cs
│ │ │ ├── ED25519Key.cs
│ │ │ ├── HMACMD5.cs
│ │ │ ├── HMACSHA1.cs
│ │ │ ├── HMACSHA256.cs
│ │ │ ├── HMACSHA384.cs
│ │ │ ├── HMACSHA512.cs
│ │ │ ├── Key.cs
│ │ │ ├── RsaDigitalSignature.cs
│ │ │ ├── RsaKey.cs
│ │ │ ├── StreamCipher.cs
│ │ │ └── SymmetricCipher.cs
│ │ ├── GroupExchangeHashData.cs
│ │ ├── HostAlgorithm.cs
│ │ ├── IKeyExchange.cs
│ │ ├── KeyExchange.cs
│ │ ├── KeyExchangeDiffieHellman.cs
│ │ ├── KeyExchangeDiffieHellmanGroup14Sha1.cs
│ │ ├── KeyExchangeDiffieHellmanGroup14Sha256.cs
│ │ ├── KeyExchangeDiffieHellmanGroup16Sha512.cs
│ │ ├── KeyExchangeDiffieHellmanGroup1Sha1.cs
│ │ ├── KeyExchangeDiffieHellmanGroupExchangeSha1.cs
│ │ ├── KeyExchangeDiffieHellmanGroupExchangeSha256.cs
│ │ ├── KeyExchangeDiffieHellmanGroupExchangeShaBase.cs
│ │ ├── KeyExchangeDiffieHellmanGroupSha1.cs
│ │ ├── KeyExchangeDiffieHellmanGroupSha256.cs
│ │ ├── KeyExchangeDiffieHellmanGroupSha512.cs
│ │ ├── KeyExchangeDiffieHellmanGroupShaBase.cs
│ │ ├── KeyExchangeEC.cs
│ │ ├── KeyExchangeECCurve25519.cs
│ │ ├── KeyExchangeECDH256.cs
│ │ ├── KeyExchangeECDH384.cs
│ │ ├── KeyExchangeECDH521.cs
│ │ ├── KeyExchangeECDH.cs
│ │ ├── KeyExchangeHashData.cs
│ │ ├── KeyHostAlgorithm.cs
│ │ └── SshKeyData.cs
│ ├── ServiceFactory.cs
│ ├── Session.cs
│ ├── Sftp
│ │ ├── Flags.cs
│ │ ├── ISftpFile.cs
│ │ ├── ISftpFileReader.cs
│ │ ├── ISftpResponseFactory.cs
│ │ ├── ISftpSession.cs
│ │ ├── Requests
│ │ │ ├── ExtendedRequests
│ │ │ │ ├── FStatVfsRequest.cs
│ │ │ │ ├── HardLinkRequest.cs
│ │ │ │ ├── PosixRenameRequest.cs
│ │ │ │ └── StatVfsRequest.cs
│ │ │ ├── SftpBlockRequest.cs
│ │ │ ├── SftpCloseRequest.cs
│ │ │ ├── SftpExtendedRequest.cs
│ │ │ ├── SftpFSetStatRequest.cs
│ │ │ ├── SftpFStatRequest.cs
│ │ │ ├── SftpInitRequest.cs
│ │ │ ├── SftpLinkRequest.cs
│ │ │ ├── SftpLStatRequest.cs
│ │ │ ├── SftpMkDirRequest.cs
│ │ │ ├── SftpOpenDirRequest.cs
│ │ │ ├── SftpOpenRequest.cs
│ │ │ ├── SftpReadDirRequest.cs
│ │ │ ├── SftpReadLinkRequest.cs
│ │ │ ├── SftpReadRequest.cs
│ │ │ ├── SftpRealPathRequest.cs
│ │ │ ├── SftpRemoveRequest.cs
│ │ │ ├── SftpRenameRequest.cs
│ │ │ ├── SftpRequest.cs
│ │ │ ├── SftpRmDirRequest.cs
│ │ │ ├── SftpSetStatRequest.cs
│ │ │ ├── SftpStatRequest.cs
│ │ │ ├── SftpSymLinkRequest.cs
│ │ │ ├── SftpUnblockRequest.cs
│ │ │ └── SftpWriteRequest.cs
│ │ ├── Responses
│ │ │ ├── ExtendedReplies
│ │ │ │ ├── ExtendedReplyInfo.cs
│ │ │ │ └── StatVfsReplyInfo.cs
│ │ │ ├── SftpAttrsResponse.cs
│ │ │ ├── SftpDataResponse.cs
│ │ │ ├── SftpExtendedReplyResponse.cs
│ │ │ ├── SftpHandleResponse.cs
│ │ │ ├── SftpNameResponse.cs
│ │ │ ├── SftpResponse.cs
│ │ │ ├── SftpStatusResponse.cs
│ │ │ └── SftpVersionResponse.cs
│ │ ├── SftpCloseAsyncResult.cs
│ │ ├── SftpDownloadAsyncResult.cs
│ │ ├── SftpFileAttributes.cs
│ │ ├── SftpFile.cs
│ │ ├── SftpFileReader.cs
│ │ ├── SftpFileStream.cs
│ │ ├── SftpFileSystemInformation.cs
│ │ ├── SftpListDirectoryAsyncResult.cs
│ │ ├── SftpMessage.cs
│ │ ├── SftpMessageTypes.cs
│ │ ├── SftpOpenAsyncResult.cs
│ │ ├── SftpReadAsyncResult.cs
│ │ ├── SftpRealPathAsyncResult.cs
│ │ ├── SftpResponseFactory.cs
│ │ ├── SftpSession.cs
│ │ ├── SFtpStatAsyncResult.cs
│ │ ├── SftpSynchronizeDirectoriesAsyncResult.cs
│ │ ├── SftpUploadAsyncResult.cs
│ │ └── StatusCodes.cs
│ ├── SftpClient.cs
│ ├── Shell.cs
│ ├── ShellStream.cs
│ ├── SshClient.cs
│ ├── SshCommand.cs
│ ├── SshMessageFactory.cs
│ └── SubsystemSession.cs
├── stylecop.json
├── test
│ ├── Data
│ │ ├── Key.DSA.pub
│ │ ├── Key.DSA.txt
│ │ ├── Key.ECDSA384.Encrypted.pub
│ │ ├── Key.ECDSA384.Encrypted.txt
│ │ ├── Key.ECDSA384.pub
│ │ ├── Key.ECDSA384.txt
│ │ ├── Key.ECDSA521.Encrypted.pub
│ │ ├── Key.ECDSA521.Encrypted.txt
│ │ ├── Key.ECDSA521.pub
│ │ ├── Key.ECDSA521.txt
│ │ ├── Key.ECDSA.Encrypted.pub
│ │ ├── Key.ECDSA.Encrypted.txt
│ │ ├── Key.ECDSA.pub
│ │ ├── Key.ECDSA.txt
│ │ ├── Key.OPENSSH.ECDSA384.Encrypted.pub
│ │ ├── Key.OPENSSH.ECDSA384.Encrypted.txt
│ │ ├── Key.OPENSSH.ECDSA384.pub
│ │ ├── Key.OPENSSH.ECDSA384.txt
│ │ ├── Key.OPENSSH.ECDSA521.Encrypted.pub
│ │ ├── Key.OPENSSH.ECDSA521.Encrypted.txt
│ │ ├── Key.OPENSSH.ECDSA521.pub
│ │ ├── Key.OPENSSH.ECDSA521.txt
│ │ ├── Key.OPENSSH.ECDSA.Encrypted.pub
│ │ ├── Key.OPENSSH.ECDSA.Encrypted.txt
│ │ ├── Key.OPENSSH.ECDSA.pub
│ │ ├── Key.OPENSSH.ECDSA.txt
│ │ ├── Key.OPENSSH.ED25519.Encrypted.pub
│ │ ├── Key.OPENSSH.ED25519.Encrypted.txt
│ │ ├── Key.OPENSSH.ED25519.pub
│ │ ├── Key.OPENSSH.ED25519.txt
│ │ ├── Key.OPENSSH.RSA.Encrypted.pub
│ │ ├── Key.OPENSSH.RSA.Encrypted.txt
│ │ ├── Key.OPENSSH.RSA.pub
│ │ ├── Key.OPENSSH.RSA.txt
│ │ ├── Key.RSA.Encrypted.Aes.128.CBC.12345.pub
│ │ ├── Key.RSA.Encrypted.Aes.128.CBC.12345.txt
│ │ ├── Key.RSA.Encrypted.Aes.192.CBC.12345.pub
│ │ ├── Key.RSA.Encrypted.Aes.192.CBC.12345.txt
│ │ ├── Key.RSA.Encrypted.Aes.256.CBC.12345.pub
│ │ ├── Key.RSA.Encrypted.Aes.256.CBC.12345.txt
│ │ ├── Key.RSA.Encrypted.Des.CBC.12345.pub
│ │ ├── Key.RSA.Encrypted.Des.CBC.12345.txt
│ │ ├── Key.RSA.Encrypted.Des.Ede3.CBC.12345.pub
│ │ ├── Key.RSA.Encrypted.Des.Ede3.CBC.12345.txt
│ │ ├── Key.RSA.Encrypted.Des.Ede3.CFB.1234567890.pub
│ │ ├── Key.RSA.Encrypted.Des.Ede3.CFB.1234567890.txt
│ │ ├── Key.RSA.pub
│ │ ├── Key.RSA.txt
│ │ ├── Key.SSH2.DSA.Encrypted.Des.CBC.12345.pub
│ │ ├── Key.SSH2.DSA.Encrypted.Des.CBC.12345.txt
│ │ ├── Key.SSH2.DSA.pub
│ │ ├── Key.SSH2.DSA.txt
│ │ ├── Key.SSH2.RSA.Encrypted.Des.CBC.12345.pub
│ │ ├── Key.SSH2.RSA.Encrypted.Des.CBC.12345.txt
│ │ ├── Key.SSH2.RSA.pub
│ │ └── Key.SSH2.RSA.txt
│ ├── Directory.Build.props
│ ├── Renci.SshNet.AotCompatibilityTestApp
│ │ ├── Program.cs
│ │ └── Renci.SshNet.AotCompatibilityTestApp.csproj
│ ├── Renci.SshNet.Benchmarks
│ │ ├── Common
│ │ │ ├── ExtensionsBenchmarks.cs
│ │ │ └── HostKeyEventArgsBenchmarks.cs
│ │ ├── Messages
│ │ │ └── MessageBenchmarks.cs
│ │ ├── Program.cs
│ │ ├── Renci.SshNet.Benchmarks.csproj
│ │ └── Security
│ │ └── Cryptography
│ │ ├── Ciphers
│ │ │ └── AesCipherBenchmarks.cs
│ │ └── ED25519DigitalSignatureBenchmarks.cs
│ ├── Renci.SshNet.IntegrationBenchmarks
│ │ ├── IntegrationBenchmarkBase.cs
│ │ ├── Program.cs
│ │ ├── Renci.SshNet.IntegrationBenchmarks.csproj
│ │ ├── ScpClientBenchmark.cs
│ │ ├── SftpClientBenchmark.cs
│ │ └── SshClientBenchmark.cs
│ ├── Renci.SshNet.IntegrationTests
│ │ ├── AuthenticationMethodFactory.cs
│ │ ├── AuthenticationTests.cs
│ │ ├── CipherTests.cs
│ │ ├── Common
│ │ │ ├── ArrayBuilder`1.cs
│ │ │ ├── AsyncSocketListener.cs
│ │ │ ├── DateTimeAssert.cs
│ │ │ ├── DateTimeExtensions.cs
│ │ │ ├── RemoteSshdConfigExtensions.cs
│ │ │ └── Socks5Handler.cs
│ │ ├── CompressionTests.cs
│ │ ├── ConnectivityTests.cs
│ │ ├── Credential.cs
│ │ ├── Dockerfile.TestServer
│ │ ├── HmacTests.cs
│ │ ├── HostConfig.cs
│ │ ├── HostEntry.cs
│ │ ├── HostKeyAlgorithmTests.cs
│ │ ├── HostKeyFile.cs
│ │ ├── IConnectionInfoFactory.cs
│ │ ├── KeyExchangeAlgorithmTests.cs
│ │ ├── LinuxAdminConnectionFactory.cs
│ │ ├── LinuxVMConnectionFactory.cs
│ │ ├── OldIntegrationTests
│ │ │ ├── ForwardedPortLocalTest.cs
│ │ │ ├── ScpClientTest.cs
│ │ │ ├── SftpClientTest.ChangeDirectory.cs
│ │ │ ├── SftpClientTest.CreateDirectory.cs
│ │ │ ├── SftpClientTest.cs
│ │ │ ├── SftpClientTest.DeleteDirectory.cs
│ │ │ ├── SftpClientTest.Download.cs
│ │ │ ├── SftpClientTest.ListDirectory.cs
│ │ │ ├── SftpClientTest.RenameFileAsync.cs
│ │ │ ├── SftpClientTest.RenameFile.cs
│ │ │ ├── SftpClientTest.SynchronizeDirectories.cs
│ │ │ ├── SftpClientTest.Upload.cs
│ │ │ ├── SftpFileTest.cs
│ │ │ └── SshCommandTest.cs
│ │ ├── PrivateKeyAuthenticationTests.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RemoteSshdConfig.cs
│ │ ├── RemoteSshd.cs
│ │ ├── Renci.SshNet.IntegrationTests.csproj
│ │ ├── resources
│ │ │ └── issue #70.png
│ │ ├── ScpClientTests.cs
│ │ ├── ScpTests.cs
│ │ ├── server
│ │ │ ├── script
│ │ │ │ └── start.sh
│ │ │ └── ssh
│ │ │ ├── ssh_host_dsa_key
│ │ │ ├── ssh_host_ecdsa_key
│ │ │ ├── ssh_host_ed25519_key
│ │ │ └── ssh_host_rsa_key
│ │ ├── SftpClientTests.cs
│ │ ├── SftpTests.cs
│ │ ├── SshClientTests.cs
│ │ ├── SshConnectionDisruptor.cs
│ │ ├── SshConnectionRestorer.cs
│ │ ├── SshTests.cs
│ │ ├── TestBase.cs
│ │ ├── TestInitializer.cs
│ │ ├── TestsFixtures
│ │ │ ├── InfrastructureFixture.cs
│ │ │ ├── IntegrationTestBase.cs
│ │ │ └── SshUser.cs
│ │ ├── user
│ │ │ └── sshnet
│ │ │ └── authorized_keys
│ │ ├── Users.cs
│ │ └── Usings.cs
│ ├── Renci.SshNet.Shared.Tests
│ │ ├── Abstractions
│ │ │ ├── CryptoAbstraction_GenerateRandom.cs
│ │ │ ├── DnsAbstraction_GetHostAddresses.cs
│ │ │ ├── FileSystemAbstraction_EnumerateFiles.cs
│ │ │ ├── SocketAbstraction_CanWrite.cs
│ │ │ └── ThreadAbstraction_ExecuteThread.cs
│ │ ├── ForwardedPortStatusTest_Started.cs
│ │ ├── ForwardedPortStatusTest_Starting.cs
│ │ ├── ForwardedPortStatusTest_Stopped.cs
│ │ ├── ForwardedPortStatusTest_Stopping.cs
│ │ ├── Renci.SshNet.Shared.Tests.projitems
│ │ ├── Renci.SshNet.Shared.Tests.shproj
│ │ └── SshMessageFactoryTest.cs
│ ├── Renci.SshNet.Tests
│ │ ├── Classes
│ │ │ ├── BaseClientTestBase.cs
│ │ │ ├── BaseClientTest_Connected_KeepAliveInterval_NegativeOne.cs
│ │ │ ├── BaseClientTest_Connected_KeepAliveInterval_NotNegativeOne.cs
│ │ │ ├── BaseClientTest_Connected_KeepAlivesNotSentConcurrently.cs
│ │ │ ├── BaseClientTest_Connect_OnConnectedThrowsException.cs
│ │ │ ├── BaseClientTest_Disconnected_Connect.cs
│ │ │ ├── BaseClientTest_Disconnected_KeepAliveInterval_NotNegativeOne.cs
│ │ │ ├── BaseClientTest_NotConnected_KeepAliveInterval_NotNegativeOne.cs
│ │ │ ├── Channels
│ │ │ │ ├── ChannelDirectTcpipTest.cs
│ │ │ │ ├── ChannelDirectTcpipTest_Dispose_SessionIsConnectedAndChannelIsOpen.cs
│ │ │ │ ├── ChannelForwardedTcpipTest_Dispose_SessionIsConnectedAndChannelIsOpen.cs
│ │ │ │ ├── ChannelSessionTestBase.cs
│ │ │ │ ├── ChannelSessionTest_Disposed_Closed.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_Disposed.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_DisposeInEventHandler.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageFailure.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived_SendChannelCloseMessageSuccess.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageFailure.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelCloseReceived_SendChannelCloseMessageSuccess.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelEofReceived_SendChannelCloseMessageFailure.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_ChannelEofReceived_SendChannelCloseMessageSuccess.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_NoChannelCloseOrChannelEofReceived.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_SessionIsConnectedAndChannelIsOpen_NoChannelCloseOrChannelEofReceived_SendChannelEofMessageFailure.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_SessionIsNotConnectedAndChannelIsOpen_ChannelCloseAndChannelEofReceived.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_SessionIsNotConnectedAndChannelIsOpen_ChannelCloseReceived.cs
│ │ │ │ ├── ChannelSessionTest_Dispose_SessionIsNotConnectedAndChannelIsOpen_NoChannelCloseOrChannelEofReceived.cs
│ │ │ │ ├── ChannelSessionTest_OnSessionChannelCloseReceived_SessionIsConnectedAndChannelIsOpen.cs
│ │ │ │ ├── ChannelSessionTest_Open_ExceptionWaitingOnOpenConfirmation.cs
│ │ │ │ ├── ChannelSessionTest_Open_OnOpenFailureReceived_NoRetriesAvailable.cs
│ │ │ │ ├── ChannelSessionTest_Open_OnOpenFailureReceived_RetriesAvalable.cs
│ │ │ │ ├── ChannelStub.cs
│ │ │ │ ├── ChannelTestBase.cs
│ │ │ │ ├── ChannelTest_Dispose_SessionIsConnectedAndChannelIsNotOpen.cs
│ │ │ │ ├── ChannelTest_Dispose_SessionIsConnectedAndChannelIsOpen_EofNotReceived.cs
│ │ │ │ ├── ChannelTest_Dispose_SessionIsConnectedAndChannelIsOpen_EofNotReceived_SendEofInvoked.cs
│ │ │ │ ├── ChannelTest_Dispose_SessionIsConnectedAndChannelIsOpen_EofReceived.cs
│ │ │ │ ├── ChannelTest_Dispose_SessionIsConnectedAndChannelIsOpen_EofReceived_DisconnectWaitingForChannelCloseMessage.cs
│ │ │ │ ├── ChannelTest_Dispose_SessionIsConnectedAndChannelIsOpen_EofReceived_TimeoutWaitingForChannelCloseMessage.cs
│ │ │ │ ├── ChannelTest_Dispose_SessionIsNotConnectedAndChannelIsNotOpen.cs
│ │ │ │ ├── ChannelTest_Dispose_SessionIsNotConnectedAndChannelIsOpen.cs
│ │ │ │ ├── ChannelTest_OnSessionChannelCloseReceived_OnClose_Exception.cs
│ │ │ │ ├── ChannelTest_OnSessionChannelCloseReceived_SessionIsConnectedAndChannelIsOpen_DisposeChannelInClosedEventHandler.cs
│ │ │ │ ├── ChannelTest_OnSessionChannelCloseReceived_SessionIsConnectedAndChannelIsOpen_EofNotReceived.cs
│ │ │ │ ├── ChannelTest_OnSessionChannelCloseReceived_SessionIsConnectedAndChannelIsOpen_EofReceived.cs
│ │ │ │ ├── ChannelTest_OnSessionChannelDataReceived_OnData_Exception.cs
│ │ │ │ ├── ChannelTest_OnSessionChannelEofReceived_OnEof_Exception.cs
│ │ │ │ ├── ChannelTest_OnSessionChannelExtendedDataReceived_OnExtendedData_Exception.cs
│ │ │ │ ├── ChannelTest_OnSessionChannelFailureReceived_OnFailure_Exception.cs
│ │ │ │ ├── ChannelTest_OnSessionChannelRequestReceived_HandleUnknownMessage.cs
│ │ │ │ ├── ChannelTest_OnSessionChannelRequestReceived_OnRequest_Exception.cs
│ │ │ │ ├── ChannelTest_OnSessionChannelSuccessReceived_OnSuccess_Exception.cs
│ │ │ │ ├── ChannelTest_OnSessionChannelWindowAdjustReceived_OnWindowAdjust_Exception.cs
│ │ │ │ ├── ChannelTest_OnSessionDisconnected_OnDisconnected_Exception.cs
│ │ │ │ ├── ChannelTest_OnSessionDisconnected_SessionIsConnectedAndChannelIsOpen.cs
│ │ │ │ ├── ChannelTest_OnSessionErrorOccurred_OnErrorOccurred_Exception.cs
│ │ │ │ ├── ChannelTest_SendEof_ChannelIsNotOpen.cs
│ │ │ │ ├── ChannelTest_SendEof_ChannelIsOpen.cs
│ │ │ │ ├── ClientChannelStub.cs
│ │ │ │ ├── ClientChannelTest_OnSessionChannelOpenConfirmationReceived_OnOpenConfirmation_Exception.cs
│ │ │ │ └── ClientChannelTest_OnSessionChannelOpenFailureReceived_OnOpenFailure_Exception.cs
│ │ │ ├── ClientAuthenticationTestBase.cs
│ │ │ ├── ClientAuthenticationTest.cs
│ │ │ ├── ClientAuthenticationTest_Failure_MultiList_AllAllowedAuthenticationsHaveReachedPartialSuccessLimit.cs
│ │ │ ├── ClientAuthenticationTest_Failure_SingleList_AuthenticationMethodFailed.cs
│ │ │ ├── ClientAuthenticationTest_Failure_SingleList_AuthenticationMethodNotConfigured.cs
│ │ │ ├── ClientAuthenticationTest_Success_MultiList_DifferentAllowedAuthenticationsAfterPartialSuccess.cs
│ │ │ ├── ClientAuthenticationTest_Success_MultiList_PartialSuccessLimitReachedFollowedByFailureInAlternateBranch2.cs
│ │ │ ├── ClientAuthenticationTest_Success_MultiList_PartialSuccessLimitReachedFollowedByFailureInAlternateBranch.cs
│ │ │ ├── ClientAuthenticationTest_Success_MultiList_PartialSuccessLimitReachedFollowedByFailureInSameBranch.cs
│ │ │ ├── ClientAuthenticationTest_Success_MultiList_PartialSuccessLimitReachedFollowedBySuccessInAlternateBranch.cs
│ │ │ ├── ClientAuthenticationTest_Success_MultiList_PartialSuccessLimitReachedFollowedBySuccessInSameBranch.cs
│ │ │ ├── ClientAuthenticationTest_Success_MultiList_PostponePartialAccessAuthenticationMethod.cs
│ │ │ ├── ClientAuthenticationTest_Success_MultiList_SameAllowedAuthenticationsAfterPartialSuccess.cs
│ │ │ ├── ClientAuthenticationTest_Success_MultiList_SkipFailedAuthenticationMethod.cs
│ │ │ ├── ClientAuthenticationTest_Success_SingleList_SameAllowedAuthenticationAfterPartialSuccess.cs
│ │ │ ├── ClientAuthenticationTest_Success_SingleList_SameAllowedAuthenticationAfterPartialSuccess_PartialSuccessLimitReached.cs
│ │ │ ├── CommandAsyncResultTest.cs
│ │ │ ├── Common
│ │ │ │ ├── BigIntegerTest.cs
│ │ │ │ ├── ChannelDataEventArgsTest.cs
│ │ │ │ ├── ChannelEventArgsTest.cs
│ │ │ │ ├── ChannelOpenFailedEventArgsTest.cs
│ │ │ │ ├── ChannelRequestEventArgsTest.cs
│ │ │ │ ├── CountdownEventTest.cs
│ │ │ │ ├── CountdownEventTest_Dispose_NotSet.cs
│ │ │ │ ├── CountdownEventTest_Dispose_Set.cs
│ │ │ │ ├── ExtensionsTest_Concat.cs
│ │ │ │ ├── ExtensionsTest_IsEqualTo_ByteArray.cs
│ │ │ │ ├── ExtensionsTest_Pad.cs
│ │ │ │ ├── ExtensionsTest_Reverse.cs
│ │ │ │ ├── ExtensionsTest_Take_Count.cs
│ │ │ │ ├── ExtensionsTest_Take_OffsetAndCount.cs
│ │ │ │ ├── ExtensionsTest_ToBigInteger2.cs
│ │ │ │ ├── ExtensionsTest_TrimLeadingZeros.cs
│ │ │ │ ├── HostKeyEventArgsTest.cs
│ │ │ │ ├── ObjectIdentifierTest.cs
│ │ │ │ ├── PacketDumpTest.cs
│ │ │ │ ├── PackTest.cs
│ │ │ │ ├── PipeStream_Close_BlockingRead.cs
│ │ │ │ ├── PipeStream_Close_BlockingWrite.cs
│ │ │ │ ├── PipeStream_Flush_BytesRemainingAfterRead.cs
│ │ │ │ ├── PipeStream_Flush_NoBytesRemainingAfterRead.cs
│ │ │ │ ├── PipeStreamTest.cs
│ │ │ │ ├── PortForwardEventArgsTest.cs
│ │ │ │ ├── PosixPathTest_CreateAbsoluteOrRelativeFilePath.cs
│ │ │ │ ├── PosixPathTest_GetDirectoryName.cs
│ │ │ │ ├── PosixPathTest_GetFileName.cs
│ │ │ │ ├── SshDataTest.cs
│ │ │ │ └── TimeSpanExtensionsTest.cs
│ │ │ ├── Connection
│ │ │ │ ├── DirectConnectorTestBase.cs
│ │ │ │ ├── DirectConnectorTest_Connect_ConnectionRefusedByServer.cs
│ │ │ │ ├── DirectConnectorTest_Connect_ConnectionSucceeded.cs
│ │ │ │ ├── DirectConnectorTest_Connect_HostNameInvalid.cs
│ │ │ │ ├── DirectConnectorTest_Connect_TimeoutConnectingToServer.cs
│ │ │ │ ├── HttpConnectorTestBase.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ConnectionToProxyRefused.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ProxyClosesConnectionBeforeStatusLineIsSent.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ProxyHostInvalid.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ProxyPasswordIsEmpty.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ProxyPasswordIsNull.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ProxyResponseDoesNotContainHttpStatusLine.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ProxyResponseStatusIs200_ExtraTextBeforeStatusLine.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ProxyResponseStatusIs200_HeadersAndContent.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ProxyResponseStatusIs200_OnlyHeaders.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ProxyResponseStatusIsNot200.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ProxyUserNameIsEmpty.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ProxyUserNameIsNotNullAndNotEmpty.cs
│ │ │ │ ├── HttpConnectorTest_Connect_ProxyUserNameIsNull.cs
│ │ │ │ ├── HttpConnectorTest_Connect_TimeoutConnectingToProxy.cs
│ │ │ │ ├── HttpConnectorTest_Connect_TimeoutReadingHttpContent.cs
│ │ │ │ ├── HttpConnectorTest_Connect_TimeoutReadingStatusLine.cs
│ │ │ │ ├── ProtocolVersionExchangeTest_ConnectionClosedByServer_NoDataSentByServer.cs
│ │ │ │ ├── ProtocolVersionExchangeTest_ServerResponseContainsNullCharacter.cs
│ │ │ │ ├── ProtocolVersionExchangeTest_ServerResponseInvalid_SshIdentificationOnlyContainsProtocolVersion.cs
│ │ │ │ ├── ProtocolVersionExchangeTest_ServerResponseValid_Comments.cs
│ │ │ │ ├── ProtocolVersionExchangeTest_ServerResponseValid_NoComments.cs
│ │ │ │ ├── ProtocolVersionExchangeTest_ServerResponseValid_TerminatedByLineFeedWithoutCarriageReturn.cs
│ │ │ │ ├── ProtocolVersionExchangeTest_TimeoutReadingIdentificationString.cs
│ │ │ │ ├── Socks4ConnectorTestBase.cs
│ │ │ │ ├── Socks4ConnectorTest_Connect_ConnectionRejectedByProxy.cs
│ │ │ │ ├── Socks4ConnectorTest_Connect_ConnectionSucceeded.cs
│ │ │ │ ├── Socks4ConnectorTest_Connect_ConnectionToProxyRefused.cs
│ │ │ │ ├── Socks4ConnectorTest_Connect_TimeoutConnectingToProxy.cs
│ │ │ │ ├── Socks4ConnectorTest_Connect_TimeoutReadingDestinationAddress.cs
│ │ │ │ ├── Socks4ConnectorTest_Connect_TimeoutReadingReplyCode.cs
│ │ │ │ ├── Socks4ConnectorTest_Connect_TimeoutReadingReplyVersion.cs
│ │ │ │ ├── Socks5ConnectorTestBase.cs
│ │ │ │ ├── Socks5ConnectorTest_Connect_ConnectionToProxyRefused.cs
│ │ │ │ ├── Socks5ConnectorTest_Connect_NoAuthentication_ConnectionSucceeded.cs
│ │ │ │ ├── Socks5ConnectorTest_Connect_ProxySocksVersionIsNotSupported.cs
│ │ │ │ ├── Socks5ConnectorTest_Connect_TimeoutConnectingToProxy.cs
│ │ │ │ ├── Socks5ConnectorTest_Connect_UserNamePasswordAuthentication_AuthenticationFailed.cs
│ │ │ │ ├── Socks5ConnectorTest_Connect_UserNamePasswordAuthentication_ConnectionSucceeded.cs
│ │ │ │ ├── Socks5ConnectorTest_Connect_UserNamePasswordAuthentication_PasswordExceedsMaximumLength.cs
│ │ │ │ ├── Socks5ConnectorTest_Connect_UserNamePasswordAuthentication_UserNameExceedsMaximumLength.cs
│ │ │ │ └── SshIdentificationTest.cs
│ │ │ ├── ConnectionInfoTest_Authenticate_Failure.cs
│ │ │ ├── ConnectionInfoTest_Authenticate_Success.cs
│ │ │ ├── ConnectionInfoTest.cs
│ │ │ ├── ExpectActionTest.cs
│ │ │ ├── ForwardedPortDynamicTest.cs
│ │ │ ├── ForwardedPortDynamicTest_Dispose_PortDisposed.cs
│ │ │ ├── ForwardedPortDynamicTest_Dispose_PortNeverStarted.cs
│ │ │ ├── ForwardedPortDynamicTest_Dispose_PortStarted_ChannelBound.cs
│ │ │ ├── ForwardedPortDynamicTest_Dispose_PortStarted_ChannelNotBound.cs
│ │ │ ├── ForwardedPortDynamicTest_Dispose_PortStopped.cs
│ │ │ ├── ForwardedPortDynamicTest_SessionErrorOccurred_ChannelBound.cs
│ │ │ ├── ForwardedPortDynamicTest_Started_SocketSendShutdownImmediately.cs
│ │ │ ├── ForwardedPortDynamicTest_Started_SocketVersionNotSupported.cs
│ │ │ ├── ForwardedPortDynamicTest_Start_PortDisposed.cs
│ │ │ ├── ForwardedPortDynamicTest_Start_PortNeverStarted.cs
│ │ │ ├── ForwardedPortDynamicTest_Start_PortStarted.cs
│ │ │ ├── ForwardedPortDynamicTest_Start_PortStopped.cs
│ │ │ ├── ForwardedPortDynamicTest_Start_SessionNotConnected.cs
│ │ │ ├── ForwardedPortDynamicTest_Start_SessionNull.cs
│ │ │ ├── ForwardedPortDynamicTest_Stop_PortDisposed.cs
│ │ │ ├── ForwardedPortDynamicTest_Stop_PortNeverStarted.cs
│ │ │ ├── ForwardedPortDynamicTest_Stop_PortStarted_ChannelBound.cs
│ │ │ ├── ForwardedPortDynamicTest_Stop_PortStarted_ChannelNotBound.cs
│ │ │ ├── ForwardedPortDynamicTest_Stop_PortStopped.cs
│ │ │ ├── ForwardedPortLocalTest.cs
│ │ │ ├── ForwardedPortLocalTest_Dispose_PortDisposed.cs
│ │ │ ├── ForwardedPortLocalTest_Dispose_PortDisposed_NeverStarted.cs
│ │ │ ├── ForwardedPortLocalTest_Dispose_PortNeverStarted.cs
│ │ │ ├── ForwardedPortLocalTest_Dispose_PortStarted_ChannelBound.cs
│ │ │ ├── ForwardedPortLocalTest_Dispose_PortStarted_ChannelNotBound.cs
│ │ │ ├── ForwardedPortLocalTest_Dispose_PortStopped.cs
│ │ │ ├── ForwardedPortLocalTest_Start_PortDisposed.cs
│ │ │ ├── ForwardedPortLocalTest_Start_PortNeverStarted.cs
│ │ │ ├── ForwardedPortLocalTest_Start_PortStarted.cs
│ │ │ ├── ForwardedPortLocalTest_Start_PortStopped.cs
│ │ │ ├── ForwardedPortLocalTest_Start_SessionNotConnected.cs
│ │ │ ├── ForwardedPortLocalTest_Start_SessionNull.cs
│ │ │ ├── ForwardedPortLocalTest_Stop_PortDisposed.cs
│ │ │ ├── ForwardedPortLocalTest_Stop_PortNeverStarted.cs
│ │ │ ├── ForwardedPortLocalTest_Stop_PortStarted_ChannelBound.cs
│ │ │ ├── ForwardedPortLocalTest_Stop_PortStarted_ChannelNotBound.cs
│ │ │ ├── ForwardedPortLocalTest_Stop_PortStopped.cs
│ │ │ ├── ForwardedPortRemoteTest.cs
│ │ │ ├── ForwardedPortRemoteTest_Dispose_PortDisposed.cs
│ │ │ ├── ForwardedPortRemoteTest_Dispose_PortNeverStarted.cs
│ │ │ ├── ForwardedPortRemoteTest_Dispose_PortStarted_ChannelBound.cs
│ │ │ ├── ForwardedPortRemoteTest_Dispose_PortStopped.cs
│ │ │ ├── ForwardedPortRemoteTest_Started.cs
│ │ │ ├── ForwardedPortRemoteTest_Start_PortDisposed.cs
│ │ │ ├── ForwardedPortRemoteTest_Start_PortNeverStarted.cs
│ │ │ ├── ForwardedPortRemoteTest_Start_PortStarted.cs
│ │ │ ├── ForwardedPortRemoteTest_Start_PortStopped.cs
│ │ │ ├── ForwardedPortRemoteTest_Start_SessionNotConnected.cs
│ │ │ ├── ForwardedPortRemoteTest_Start_SessionNull.cs
│ │ │ ├── ForwardedPortRemoteTest_Stop_PortDisposed.cs
│ │ │ ├── ForwardedPortRemoteTest_Stop_PortNeverStarted.cs
│ │ │ ├── ForwardedPortRemoteTest_Stop_PortStarted_ChannelBound.cs
│ │ │ ├── ForwardedPortRemoteTest_Stop_PortStopped.cs
│ │ │ ├── KeyboardInteractiveAuthenticationMethodTest.cs
│ │ │ ├── Messages
│ │ │ │ ├── Connection
│ │ │ │ │ ├── ChannelDataMessageTest.cs
│ │ │ │ │ ├── ChannelOpen
│ │ │ │ │ │ └── ChannelOpenMessageTest.cs
│ │ │ │ │ ├── ChannelRequest
│ │ │ │ │ │ └── PseudoTerminalInfoTest.cs
│ │ │ │ │ └── GlobalRequestMessageTest.cs
│ │ │ │ └── Transport
│ │ │ │ ├── IgnoreMessageTest.cs
│ │ │ │ ├── KeyExchangeDhGroupExchangeGroupBuilder.cs
│ │ │ │ ├── KeyExchangeDhGroupExchangeInitTest.cs
│ │ │ │ ├── KeyExchangeDhGroupExchangeReplyBuilder.cs
│ │ │ │ ├── KeyExchangeDhGroupExchangeReplyTest.cs
│ │ │ │ ├── KeyExchangeDhGroupExchangeRequestTest.cs
│ │ │ │ └── KeyExchangeInitMessageTest.cs
│ │ │ ├── NetConfClientTestBase.cs
│ │ │ ├── NetConfClientTest_Connect_NetConfSessionConnectFailure.cs
│ │ │ ├── NetConfClientTest.cs
│ │ │ ├── NetConfClientTest_Dispose_Connected.cs
│ │ │ ├── NetConfClientTest_Dispose_Disconnected.cs
│ │ │ ├── NetConfClientTest_Dispose_Disposed.cs
│ │ │ ├── NetConfClientTest_Finalize_Connected.cs
│ │ │ ├── NoneAuthenticationMethodTest.cs
│ │ │ ├── PasswordAuthenticationMethodTest.cs
│ │ │ ├── PasswordConnectionInfoTest.cs
│ │ │ ├── PipeStreamTest_Dispose.cs
│ │ │ ├── PrivateKeyAuthenticationMethodTest.cs
│ │ │ ├── PrivateKeyFileTest.cs
│ │ │ ├── RemotePathDoubleQuoteTransformationTest.cs
│ │ │ ├── RemotePathShellQuoteTransformationTest.cs
│ │ │ ├── ScpClientTestBase.cs
│ │ │ ├── ScpClientTest.cs
│ │ │ ├── ScpClientTest_Download_PathAndDirectoryInfo_SendExecRequestReturnsFalse.cs
│ │ │ ├── ScpClientTest_Download_PathAndFileInfo_SendExecRequestReturnsFalse.cs
│ │ │ ├── ScpClientTest_Download_PathAndStream_SendExecRequestReturnsFalse.cs
│ │ │ ├── ScpClientTest_Upload_DirectoryInfoAndPath_SendExecRequestReturnsFalse.cs
│ │ │ ├── ScpClientTest_Upload_FileInfoAndPath_SendExecRequestReturnsFalse.cs
│ │ │ ├── ScpClientTest_Upload_FileInfoAndPath_Success.cs
│ │ │ ├── ScpClientTest_Upload_StreamAndPath_SendExecRequestReturnsFalse.cs
│ │ │ ├── Security
│ │ │ │ ├── Cryptography
│ │ │ │ │ ├── BlockCipherTest.cs
│ │ │ │ │ ├── Ciphers
│ │ │ │ │ │ ├── AesCipherTest.cs
│ │ │ │ │ │ ├── AesCipherTest.Gen.cs.txt
│ │ │ │ │ │ ├── Arc4CipherTest.cs
│ │ │ │ │ │ ├── BlowfishCipherTest.cs
│ │ │ │ │ │ ├── CastCipherTest.cs
│ │ │ │ │ │ ├── DesCipherTest.cs
│ │ │ │ │ │ ├── Paddings
│ │ │ │ │ │ │ ├── PKCS5PaddingTest.cs
│ │ │ │ │ │ │ └── PKCS7PaddingTest.cs
│ │ │ │ │ │ └── TripleDesCipherTest.cs
│ │ │ │ │ └── RsaDigitalSignatureTest.cs
│ │ │ │ ├── KeyAlgorithmTest.cs
│ │ │ │ ├── KeyExchangeDiffieHellmanGroup14Sha1Test.cs
│ │ │ │ ├── KeyExchangeDiffieHellmanGroup14Sha256Test.cs
│ │ │ │ ├── KeyExchangeDiffieHellmanGroup16Sha512Test.cs
│ │ │ │ └── KeyExchangeDiffieHellmanGroup1Sha1Test.cs
│ │ │ ├── ServiceFactoryTest_CreateClientAuthentication.cs
│ │ │ ├── ServiceFactoryTest_CreateConnector.cs
│ │ │ ├── ServiceFactoryTest_CreateSftpFileReader_EndLStatThrowsSshException.cs
│ │ │ ├── ServiceFactoryTest_CreateSftpFileReader_FileSizeIsAlmostSixTimesGreaterThanChunkSize.cs
│ │ │ ├── ServiceFactoryTest_CreateSftpFileReader_FileSizeIsEqualToChunkSize.cs
│ │ │ ├── ServiceFactoryTest_CreateSftpFileReader_FileSizeIsExactlyFiveTimesGreaterThanChunkSize.cs
│ │ │ ├── ServiceFactoryTest_CreateSftpFileReader_FileSizeIsLessThanChunkSize.cs
│ │ │ ├── ServiceFactoryTest_CreateSftpFileReader_FileSizeIsLittleMoreThanFiveTimesGreaterThanChunkSize.cs
│ │ │ ├── ServiceFactoryTest_CreateSftpFileReader_FileSizeIsMoreThanMaxPendingReadsTimesChunkSize.cs
│ │ │ ├── ServiceFactoryTest_CreateSftpFileReader_FileSizeIsZero.cs
│ │ │ ├── ServiceFactoryTest_CreateShellStream_ChannelOpenThrowsException.cs
│ │ │ ├── ServiceFactoryTest_CreateShellStream_SendPseudoTerminalRequestReturnsFalse.cs
│ │ │ ├── ServiceFactoryTest_CreateShellStream_SendPseudoTerminalRequestThrowsException.cs
│ │ │ ├── ServiceFactoryTest_CreateShellStream_SendShellRequestReturnsFalse.cs
│ │ │ ├── ServiceFactoryTest_CreateShellStream_SendShellRequestThrowsException.cs
│ │ │ ├── ServiceFactoryTest_CreateShellStream_Success.cs
│ │ │ ├── SessionTestBase.cs
│ │ │ ├── SessionTest_ConnectedBase.cs
│ │ │ ├── SessionTest_Connected_ConnectionReset.cs
│ │ │ ├── SessionTest_Connected.cs
│ │ │ ├── SessionTest_Connected_Disconnect.cs
│ │ │ ├── SessionTest_Connected_GlobalRequestMessageAfterAuthenticationRace.cs
│ │ │ ├── SessionTest_Connected_ServerAndClientDisconnectRace.cs
│ │ │ ├── SessionTest_Connected_ServerDoesNotSendKexInit.cs
│ │ │ ├── SessionTest_Connected_ServerIdentificationReceived.cs
│ │ │ ├── SessionTest_Connected_ServerSendsBadPacket.cs
│ │ │ ├── SessionTest_Connected_ServerSendsDisconnectMessageAndShutsDownSocket.cs
│ │ │ ├── SessionTest_Connected_ServerSendsDisconnectMessage.cs
│ │ │ ├── SessionTest_Connected_ServerSendsUnsupportedMessageType.cs
│ │ │ ├── SessionTest_Connected_ServerShutsDownSendAfterSendingIncompletePacket.cs
│ │ │ ├── SessionTest_Connected_ServerShutsDownSocket.cs
│ │ │ ├── SessionTest_ConnectToServerFails.cs
│ │ │ ├── SessionTest.cs
│ │ │ ├── SessionTest_NotConnected.cs
│ │ │ ├── SessionTest_SocketConnected_BadPacketAndDispose.cs
│ │ │ ├── Sftp
│ │ │ │ ├── Requests
│ │ │ │ │ ├── ExtendedRequests
│ │ │ │ │ │ ├── FStatVfsRequestTest.cs
│ │ │ │ │ │ ├── HardLinkRequestTest.cs
│ │ │ │ │ │ ├── PosixRenameRequestTest.cs
│ │ │ │ │ │ └── StatVfsRequestTest.cs
│ │ │ │ │ ├── SftpBlockRequestTest.cs
│ │ │ │ │ ├── SftpCloseRequestTest.cs
│ │ │ │ │ ├── SftpFSetStatRequestTest.cs
│ │ │ │ │ ├── SftpFStatRequestTest.cs
│ │ │ │ │ ├── SftpInitRequestTest.cs
│ │ │ │ │ ├── SftpLinkRequestTest.cs
│ │ │ │ │ ├── SftpLStatRequestTest.cs
│ │ │ │ │ ├── SftpMkDirRequestTest.cs
│ │ │ │ │ ├── SftpOpenDirRequestTest.cs
│ │ │ │ │ ├── SftpOpenRequestTest.cs
│ │ │ │ │ ├── SftpReadDirRequestTest.cs
│ │ │ │ │ ├── SftpReadLinkRequestTest.cs
│ │ │ │ │ ├── SftpReadRequestTest.cs
│ │ │ │ │ ├── SftpRealPathRequestTest.cs
│ │ │ │ │ ├── SftpRemoveRequestTest.cs
│ │ │ │ │ ├── SftpRenameRequestTest.cs
│ │ │ │ │ ├── SftpRmDirRequestTest.cs
│ │ │ │ │ ├── SftpSetStatRequestTest.cs
│ │ │ │ │ ├── SftpStatRequestTest.cs
│ │ │ │ │ ├── SftpSymLinkRequestTest.cs
│ │ │ │ │ ├── SftpUnblockRequestTest.cs
│ │ │ │ │ └── SftpWriteRequestTest.cs
│ │ │ │ ├── Responses
│ │ │ │ │ ├── ExtendedReplies
│ │ │ │ │ │ └── StatVfsReplyInfoTest.cs
│ │ │ │ │ ├── SftpAttrsResponseTest.cs
│ │ │ │ │ ├── SftpDataResponseTest.cs
│ │ │ │ │ ├── SftpExtendedReplyResponseTest.cs
│ │ │ │ │ ├── SftpHandleResponseTest.cs
│ │ │ │ │ ├── SftpNameResponseTest.cs
│ │ │ │ │ ├── SftpStatusResponseTest.cs
│ │ │ │ │ └── SftpVersionResponseTest.cs
│ │ │ │ ├── SftpDataResponseBuilder.cs
│ │ │ │ ├── SftpDownloadAsyncResultTest.cs
│ │ │ │ ├── SftpFileReaderTestBase.cs
│ │ │ │ ├── SftpFileReaderTest_Dispose_SftpSessionIsNotOpen.cs
│ │ │ │ ├── SftpFileReaderTest_Dispose_SftpSessionIsOpen_BeginCloseThrowsException.cs
│ │ │ │ ├── SftpFileReaderTest_Dispose_SftpSessionIsOpen_EndCloseThrowsException.cs
│ │ │ │ ├── SftpFileReaderTest_DisposeShouldUnblockReadAndReadAhead.cs
│ │ │ │ ├── SftpFileReaderTest_LastChunkBeforeEofIsComplete.cs
│ │ │ │ ├── SftpFileReaderTest_LastChunkBeforeEofIsPartial.cs
│ │ │ │ ├── SftpFileReaderTest_PreviousChunkIsIncompleteAndEofIsNotReached.cs
│ │ │ │ ├── SftpFileReaderTest_PreviousChunkIsIncompleteAndEofIsReached.cs
│ │ │ │ ├── SftpFileReaderTest_ReadAheadBeginReadException.cs
│ │ │ │ ├── SftpFileReaderTest_ReadAheadEndInvokeException_DiscardsFurtherReadAheads.cs
│ │ │ │ ├── SftpFileReaderTest_ReadAheadEndInvokeException_PreventsFurtherReadAheads.cs
│ │ │ │ ├── SftpFileReaderTest_ReadBackBeginReadException.cs
│ │ │ │ ├── SftpFileReaderTest_ReadBackEndInvokeException.cs
│ │ │ │ ├── SftpFileReaderTest_Read_ReadAheadExceptionInBeginRead.cs
│ │ │ │ ├── SftpFileReaderTest_Read_ReadAheadExceptionInWaitOnHandle_ChunkAvailable.cs
│ │ │ │ ├── SftpFileReaderTest_Read_ReadAheadExceptionInWaitOnHandle_NoChunkAvailable.cs
│ │ │ │ ├── SftpFileStreamAsyncTestBase.cs
│ │ │ │ ├── SftpFileStreamTestBase.cs
│ │ │ │ ├── SftpFileStreamTest_CanRead_Closed_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_CanRead_Closed_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_CanRead_Closed_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_CanRead_Disposed_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_CanRead_Disposed_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_CanRead_Disposed_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_CanWrite_Closed_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_CanWrite_Closed_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_CanWrite_Closed_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_CanWrite_Disposed_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_CanWrite_Disposed_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_CanWrite_Disposed_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_Close_Closed.cs
│ │ │ │ ├── SftpFileStreamTest_Close_Disposed.cs
│ │ │ │ ├── SftpFileStreamTest_Close_SessionNotOpen.cs
│ │ │ │ ├── SftpFileStreamTest_Close_SessionOpen.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileAccessInvalid.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeAppend_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeAppend_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeAppend_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeCreate_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeCreate_FileAccessReadWrite_FileDoesNotExist.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeCreate_FileAccessReadWrite_FileExists.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeCreate_FileAccessWrite_FileDoesNotExist.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeCreate_FileAccessWrite_FileExists.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeCreateNew_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeCreateNew_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeCreateNew_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeInvalid.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeOpen_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeOpen_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeOpen_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeOpenOrCreate_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeOpenOrCreate_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeOpenOrCreate_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeTruncate_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeTruncate_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_Ctor_FileModeTruncate_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_Dispose_Closed.cs
│ │ │ │ ├── SftpFileStreamTest_Dispose_Disposed.cs
│ │ │ │ ├── SftpFileStreamTest_Dispose_SessionNotOpen.cs
│ │ │ │ ├── SftpFileStreamTest_Dispose_SessionOpen.cs
│ │ │ │ ├── SftpFileStreamTest_Finalize_SessionOpen.cs
│ │ │ │ ├── SftpFileStreamTest_Flush_ReadMode_DataInBuffer_NotReadFromBuffer.cs
│ │ │ │ ├── SftpFileStreamTest_Flush_ReadMode_DataInBuffer_ReadFromBuffer.cs
│ │ │ │ ├── SftpFileStreamTest_Flush_ReadMode_NoDataInBuffer.cs
│ │ │ │ ├── SftpFileStreamTest_Flush_SessionNotOpen.cs
│ │ │ │ ├── SftpFileStreamTest_Flush_WriteMode_DataInBuffer.cs
│ │ │ │ ├── SftpFileStreamTest_Flush_WriteMode_NoDataInBuffer.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileAccessInvalid.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeAppend_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeAppend_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeAppend_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeCreate_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeCreate_FileAccessReadWrite_FileDoesNotExist.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeCreate_FileAccessReadWrite_FileExists.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeCreate_FileAccessWrite_FileDoesNotExist.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeCreate_FileAccessWrite_FileExists.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeCreateNew_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeCreateNew_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeCreateNew_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeInvalid.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeOpen_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeOpen_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeOpen_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeOpenOrCreate_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeOpenOrCreate_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeOpenOrCreate_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeTruncate_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeTruncate_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_OpenAsync_FileModeTruncate_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndEqualToBufferSize.cs
│ │ │ │ ├── SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndLessThanBufferSize.cs
│ │ │ │ ├── SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadMoreBytesFromServerThanCount.cs
│ │ │ │ ├── SftpFileStreamTest_ReadByte_ReadMode_NoDataInWriteBufferAndNoDataInReadBuffer_Eof.cs
│ │ │ │ ├── SftpFileStreamTest_ReadByte_ReadMode_NoDataInWriteBufferAndNoDataInReadBuffer_LessDataThanReadBufferSizeAvailable.cs
│ │ │ │ ├── SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndEqualToBufferSize.cs
│ │ │ │ ├── SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndLessThanBufferSize.cs
│ │ │ │ ├── SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadMoreBytesFromServerThanCount.cs
│ │ │ │ ├── SftpFileStreamTest_Seek_PositionedAtBeginningOfStream_OriginBeginAndOffsetNegative.cs
│ │ │ │ ├── SftpFileStreamTest_Seek_PositionedAtBeginningOfStream_OriginBeginAndOffsetPositive.cs
│ │ │ │ ├── SftpFileStreamTest_Seek_PositionedAtBeginningOfStream_OriginBeginAndOffsetZero.cs
│ │ │ │ ├── SftpFileStreamTest_Seek_PositionedAtBeginningOfStream_OriginEndAndOffsetNegative.cs
│ │ │ │ ├── SftpFileStreamTest_Seek_PositionedAtBeginningOfStream_OriginEndAndOffsetPositive.cs
│ │ │ │ ├── SftpFileStreamTest_Seek_PositionedAtBeginningOfStream_OriginEndAndOffsetZero.cs
│ │ │ │ ├── SftpFileStreamTest_Seek_PositionedAtMiddleOfStream_OriginBeginAndOffsetZero_NoBuffering.cs
│ │ │ │ ├── SftpFileStreamTest_Seek_PositionedAtMiddleOfStream_OriginBeginAndOffsetZero_ReadBuffer.cs
│ │ │ │ ├── SftpFileStreamTest_SetLength_Closed.cs
│ │ │ │ ├── SftpFileStreamTest_SetLength_DataInReadBuffer_NewLengthGreatherThanPosition.cs
│ │ │ │ ├── SftpFileStreamTest_SetLength_DataInReadBuffer_NewLengthLessThanPosition.cs
│ │ │ │ ├── SftpFileStreamTest_SetLength_DataInWriteBuffer_NewLengthGreatherThanPosition.cs
│ │ │ │ ├── SftpFileStreamTest_SetLength_DataInWriteBuffer_NewLengthLessThanPosition.cs
│ │ │ │ ├── SftpFileStreamTest_SetLength_Disposed.cs
│ │ │ │ ├── SftpFileStreamTest_SetLength_SessionNotOpen.cs
│ │ │ │ ├── SftpFileStreamTest_SetLength_SessionOpen_FileAccessRead.cs
│ │ │ │ ├── SftpFileStreamTest_SetLength_SessionOpen_FileAccessReadWrite.cs
│ │ │ │ ├── SftpFileStreamTest_SetLength_SessionOpen_FileAccessWrite.cs
│ │ │ │ ├── SftpFileStreamTest_WriteAsync_SessionOpen_CountGreatherThanTwoTimesTheWriteBufferSize.cs
│ │ │ │ ├── SftpFileStreamTest_Write_SessionOpen_CountGreatherThanTwoTimesTheWriteBufferSize.cs
│ │ │ │ ├── SftpHandleResponseBuilder.cs
│ │ │ │ ├── SftpInitRequestBuilder.cs
│ │ │ │ ├── SftpNameResponseBuilder.cs
│ │ │ │ ├── SftpOpenRequestBuilder.cs
│ │ │ │ ├── SftpReadRequestBuilder.cs
│ │ │ │ ├── SftpRealPathRequestBuilder.cs
│ │ │ │ ├── SftpSessionTest_Connected_RequestRead.cs
│ │ │ │ ├── SftpSessionTest_Connected_RequestStatVfs.cs
│ │ │ │ ├── SftpSessionTest_DataReceived_MultipleSftpMessagesInSingleSshDataMessage.cs
│ │ │ │ ├── SftpSessionTest_DataReceived_MultipleSftpMessagesSplitOverMultipleSshDataMessages.cs
│ │ │ │ ├── SftpSessionTest_DataReceived_SingleSftpMessageInSshDataMessage.cs
│ │ │ │ ├── SftpStatVfsRequestBuilder.cs
│ │ │ │ ├── SftpStatVfsResponseBuilder.cs
│ │ │ │ └── SftpVersionResponseBuilder.cs
│ │ │ ├── SftpClientTestBase.cs
│ │ │ ├── SftpClientTest.ConnectAsync.cs
│ │ │ ├── SftpClientTest.Connect.cs
│ │ │ ├── SftpClientTest_Connect_SftpSessionConnectFailure.cs
│ │ │ ├── SftpClientTest.cs
│ │ │ ├── SftpClientTest.DeleteDirectory.cs
│ │ │ ├── SftpClientTest.DeleteFileAsync.cs
│ │ │ ├── SftpClientTest.DeleteFile.cs
│ │ │ ├── SftpClientTest_Dispose_Connected.cs
│ │ │ ├── SftpClientTest_Dispose_Disconnected.cs
│ │ │ ├── SftpClientTest_Dispose_Disposed.cs
│ │ │ ├── SftpClientTest_Finalize_Connected.cs
│ │ │ ├── SftpClientTest.ListDirectoryAsync.cs
│ │ │ ├── SftpClientTest.ListDirectory.cs
│ │ │ ├── ShellStreamTest.cs
│ │ │ ├── ShellStreamTest_ReadExpect.cs
│ │ │ ├── ShellStreamTest_Write_WriteBufferEmptyAndWriteLessBytesThanBufferSize.cs
│ │ │ ├── ShellStreamTest_Write_WriteBufferEmptyAndWriteMoreBytesThanBufferSize.cs
│ │ │ ├── ShellStreamTest_Write_WriteBufferEmptyAndWriteNumberOfBytesEqualToBufferSize.cs
│ │ │ ├── ShellStreamTest_Write_WriteBufferEmptyAndWriteZeroBytes.cs
│ │ │ ├── ShellStreamTest_Write_WriteBufferFullAndWriteLessBytesThanBufferSize.cs
│ │ │ ├── ShellStreamTest_Write_WriteBufferFullAndWriteZeroBytes.cs
│ │ │ ├── ShellStreamTest_Write_WriteBufferNotEmptyAndWriteLessBytesThanBufferCanContain.cs
│ │ │ ├── ShellStreamTest_Write_WriteBufferNotEmptyAndWriteMoreBytesThanBufferCanContain.cs
│ │ │ ├── ShellStreamTest_Write_WriteBufferNotEmptyAndWriteZeroBytes.cs
│ │ │ ├── SshClientTest_CreateShellStream_TerminalNameAndColumnsAndRowsAndWidthAndHeightAndBufferSizeAndTerminalModes_Connected.cs
│ │ │ ├── SshClientTest_CreateShellStream_TerminalNameAndColumnsAndRowsAndWidthAndHeightAndBufferSize_Connected.cs
│ │ │ ├── SshClientTest.cs
│ │ │ ├── SshClientTest_Disconnect_ForwardedPortStarted.cs
│ │ │ ├── SshClientTest_Dispose_Connected.cs
│ │ │ ├── SshClientTest_Dispose_Disconnected.cs
│ │ │ ├── SshClientTest_Dispose_Disposed.cs
│ │ │ ├── SshClientTest_Dispose_ForwardedPortStarted.cs
│ │ │ ├── SshCommandTest_BeginExecute_EndExecuteInvokedOnAsyncResultFromPreviousInvocation.cs
│ │ │ ├── SshCommandTest_BeginExecute_EndExecuteNotInvokedOnAsyncResultFromPreviousInvocation.cs
│ │ │ ├── SshCommandTest.cs
│ │ │ ├── SshCommandTest_Dispose.cs
│ │ │ ├── SshCommandTest_EndExecute_AsyncResultFromOtherInstance.cs
│ │ │ ├── SshCommandTest_EndExecute_AsyncResultIsNull.cs
│ │ │ ├── SshCommandTest_EndExecute_ChannelOpen.cs
│ │ │ ├── SshCommandTest_EndExecute.cs
│ │ │ ├── SubsystemSession_Connect_Connected.cs
│ │ │ ├── SubsystemSession_Connect_Disconnected.cs
│ │ │ ├── SubsystemSession_Connect_Disposed.cs
│ │ │ ├── SubsystemSession_Connect_NeverConnected.cs
│ │ │ ├── SubsystemSession_Connect_SendSubsystemRequestFails.cs
│ │ │ ├── SubsystemSession_Disconnect_Connected.cs
│ │ │ ├── SubsystemSession_Disconnect_Disposed.cs
│ │ │ ├── SubsystemSession_Disconnect_NeverConnected.cs
│ │ │ ├── SubsystemSession_Dispose_Connected.cs
│ │ │ ├── SubsystemSession_Dispose_Disconnected.cs
│ │ │ ├── SubsystemSession_Dispose_Disposed.cs
│ │ │ ├── SubsystemSession_Dispose_NeverConnected.cs
│ │ │ ├── SubsystemSession_OnChannelDataReceived_Connected.cs
│ │ │ ├── SubsystemSession_OnChannelDataReceived_Disposed.cs
│ │ │ ├── SubsystemSession_OnChannelDataReceived_OnDataReceived_Exception.cs
│ │ │ ├── SubsystemSession_OnChannelException_Connected.cs
│ │ │ ├── SubsystemSession_OnChannelException_Disposed.cs
│ │ │ ├── SubsystemSession_OnSessionDisconnected_Connected.cs
│ │ │ ├── SubsystemSession_OnSessionDisconnected_Disposed.cs
│ │ │ ├── SubsystemSession_OnSessionErrorOccurred_Connected.cs
│ │ │ ├── SubsystemSession_OnSessionErrorOccurred_Disposed.cs
│ │ │ ├── SubsystemSession_SendData_Connected.cs
│ │ │ ├── SubsystemSession_SendData_Disconnected.cs
│ │ │ ├── SubsystemSession_SendData_Disposed.cs
│ │ │ ├── SubsystemSession_SendData_NeverConnected.cs
│ │ │ └── SubsystemSessionStub.cs
│ │ ├── Common
│ │ │ ├── ArgumentExceptionAssert.cs
│ │ │ ├── ArrayBuilder`1.cs
│ │ │ ├── AsyncSocketListener.cs
│ │ │ ├── DictionaryAssert.cs
│ │ │ ├── Extensions.cs
│ │ │ ├── HttpProxyStub.cs
│ │ │ ├── HttpRequest.cs
│ │ │ ├── SftpFileAttributesBuilder.cs
│ │ │ ├── TestBase.cs
│ │ │ ├── TestMethodForPlatformAttribute.cs
│ │ │ └── TripleATestBase.cs
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ └── Renci.SshNet.Tests.csproj
│ └── Renci.SshNet.TestTools.OpenSSH
│ ├── Cipher.cs
│ ├── Formatters
│ │ ├── BooleanFormatter.cs
│ │ ├── Int32Formatter.cs
│ │ ├── LogLevelFormatter.cs
│ │ ├── MatchFormatter.cs
│ │ └── SubsystemFormatter.cs
│ ├── HostKeyAlgorithm.cs
│ ├── KeyExchangeAlgorithm.cs
│ ├── LogLevel.cs
│ ├── Match.cs
│ ├── MessageAuthenticationCodeAlgorithm.cs
│ ├── PublicKeyAlgorithm.cs
│ ├── Renci.SshNet.TestTools.OpenSSH.csproj
│ ├── SshdConfig.cs
│ └── Subsystem.cs
└── THIRD-PARTY-NOTICES.TXT
109 directories, 1228 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论