예제 #1
0
        //ƒVƒFƒ‹‚ðŠJ‚«AƒCƒxƒ“ƒgƒŒƒV[ƒo‚ð‘‚«Š·‚¦‚é
        private void SuccessfullyExit()
        {
            SSHSocket sshsocket = new SSHSocket(_parent);

            sshsocket.SetSSHConnection(_connection);
            sshsocket.RepeatAsyncRead(_callback); //_callback‚©‚çæ‚̏ˆ—‚Í“¯‚¶
            _connection.EventReceiver = sshsocket;
            _parent.ReplaceSSHSocket(sshsocket);
            sshsocket.OpenShell();
        }
예제 #2
0
 public void AttachTransmissionSide(SSHConnection con)
 {
     _sshSocket.SetSSHConnection(con);
     if (con.AuthenticationResult == AuthenticationResult.Success)
     {
         SSHSocket ss = (SSHSocket)_sshSocket; //Keyboard-Interactive‚ª‚ç‚Ý‚Å‚¿‚å‚Á‚Æ•sŽ©‘R‚É‚È‚Á‚Ä‚é‚È
         //ISSHSubsystemParameter subsystem = (ISSHSubsystemParameter)_sshLoginParameter;  //.GetAdapter(typeof(ISSHSubsystemParameter));
         //if(subsystem!=null)
         //    ss.OpenSubsystem(subsystem.SubsystemName);
         //else //‚ӂ‚¤‚̃VƒFƒ‹
         ss.OpenShell();
     }
 }
예제 #3
0
 public SSHTerminalConnection(ISSHLoginParameter ssh)
     : base((ITCPParameter)ssh)
 {
     _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; //‚Ü‚¾—˜—p‰Â”\‚Å‚È‚¢
     }
 }
예제 #4
0
 //Keyboard-interactive‚̏ꍇA”FØ¬Œ÷Œã‚É‚±‚ê‚ðŽÀs
 internal void ReplaceSSHSocket(SSHSocket sshsocket)
 {
     _sshSocket      = sshsocket;
     _socket         = sshsocket;
     _terminalOutput = sshsocket;
 }