private void buttonSave_Click(object sender, EventArgs e) { if (Ssh.isOpen()) { Ssh.Close(); } if (!Ssh.Open( textBoxSshIp.Text, textBoxSshLogin.Text, textBoxSshPassword.Text, textBoxSshBoundHost.Text, (uint)numericUpDownSshBoundPort.Value, textBoxSshHost.Text, (uint)numericUpDownSshPort.Value)) { if (MessageBox.Show( "Ошибка подключения по SSH:\n'" + Ssh.lastErrorMeassage + "'\nВсё равно сохранить?", "Тестовое подключение по SSH", MessageBoxButtons.YesNo, MessageBoxIcon.Error) != DialogResult.Yes) { return; } } Properties.Settings.Default.SshIp = Encryption.EncryptString(textBoxSshIp.Text); Properties.Settings.Default.SshLogin = Encryption.EncryptString(textBoxSshLogin.Text); Properties.Settings.Default.SshPassword = Encryption.EncryptString(textBoxSshPassword.Text); Properties.Settings.Default.SshBoundHost = textBoxSshBoundHost.Text; Properties.Settings.Default.SshBoundPort = (uint)numericUpDownSshBoundPort.Value; Properties.Settings.Default.SshHost = textBoxSshHost.Text; Properties.Settings.Default.SshPort = (uint)numericUpDownSshPort.Value; Properties.Settings.Default.Save(); this.Close(); }
private void toolStripMenuItemSshChange_Click(object sender, EventArgs e) { Ssh.Close(); FormSsh formSsh = new FormSsh(); formSsh.ShowDialog(); }
private void toolStripMenuItemSshClose_Click(object sender, EventArgs e) { Ssh.Close(); }
/// <summary> /// Parse and execute command line /// </summary> /// <param name="commandLine">Falcon command line string</param> private void ExecuteCli(string commandLine) { // ignore empty command line if (commandLine == "") { PrintLinePrefix(); return; } historyBuff.ResetNavigation(); historyBuff.AddItem(commandLine); if (displayMode == DisplayMode.SSH) { ssh_.RunCommand(commandLine); if (commandLine == "exit") { ssh_.Close(); PrintToScreen("ssh session terminated.", Color.White, true); ssh_ = null; displayMode = DisplayMode.NORMAL; } return; } Argument argumentObj = null; string reply = ""; string parserAnswer = ""; Command.Type cmdType = Command.Type.INVALID; bool validCmd; validCmd = CommandParser.Parse(commandLine, ref parserAnswer, ref cmdType, ref argumentObj); if (validCmd) { switch (cmdType) { case Command.Type.PING: string targetIp = ((PingArgument)argumentObj).GetIp(); int timeout = ((PingArgument)argumentObj).GetTimeout(); if (timeout != -1) // use timeout { Pinger.Ping(targetIp, timeout, ref reply); } else // disable timeout { Pinger.Ping(targetIp, 0, ref reply); } break; case Command.Type.SSH: bool success = ConnectSsh(((SshArgument)argumentObj).GetHostAddress(), ((SshArgument)argumentObj).GetUserName(), ((SshArgument)argumentObj).GetPassword(), ref reply, ref ssh_); if (success) { displayMode = DisplayMode.SSH; } break; case Command.Type.CLEAR: cliDisplayTxtBx.Text = ""; break; case Command.Type.INVALID: break; } } if (parserAnswer != "") { PrintToScreen(parserAnswer + "\n", Color.White, true); } if (reply != "") { PrintToScreen(reply + "\n", Color.White, true); } PrintLinePrefix(); }