<PackageReference Include="SSH.NET" Version="2012.20.12" />

KeyExchange

public abstract class KeyExchange : Algorithm, IDisposable
public byte[] ExchangeHash { get; }

protected Session Session { get; }

public BigInteger SharedKey { get; protected set; }

protected KeyExchange()

protected abstract byte[] CalculateHash()

protected bool CanTrustHostKey(KeyHostAlgorithm host)

public void Dispose()

protected virtual void Dispose(bool disposing)

public virtual void Finish()

protected virtual byte[] Hash(byte[] hashData)

protected void SendMessage(Message message)

public virtual void Start(Session session, KeyExchangeInitMessage message)

protected abstract bool ValidateExchangeHash()