public SSHTerminalConnection(ISSHLoginParameter ssh) : base((ITCPParameter)ssh.GetAdapter(typeof(ITCPParameter))) { _sshLoginParameter = ssh; if (ssh.AuthenticationType != AuthenticationType.KeyboardInteractive) { SSHSocket s = new SSHSocket(this); _sshSocket = s; _socket = s; _terminalOutput = s; } else { KeyboardInteractiveAuthHanlder s = new KeyboardInteractiveAuthHanlder(this); _sshSocket = s; _socket = s; _terminalOutput = null; //まだ利用可能でない } }
//Keyboard-interactiveの場合、認証成功後にこれを実行 internal void ReplaceSSHSocket(SSHSocket sshsocket) { _sshSocket = sshsocket; _socket = sshsocket; _terminalOutput = sshsocket; }
private SSHConnectionEventReceiverBase _sshSocket; //Keyboard-interactiveのときの認証中のみ_sshSocketはKeyboardInteractiveAuthHanlder #endregion Fields #region Constructors public SSHTerminalConnection(ISSHLoginParameter ssh) : base((ITCPParameter)ssh.GetAdapter(typeof(ITCPParameter))) { _sshLoginParameter = ssh; if (ssh.AuthenticationType != AuthenticationType.KeyboardInteractive) { SSHSocket s = new SSHSocket(this); _sshSocket = s; _socket = s; _terminalOutput = s; } else { KeyboardInteractiveAuthHanlder s = new KeyboardInteractiveAuthHanlder(this); _sshSocket = s; _socket = s; _terminalOutput = null; //まだ利用可能でない } }