public void InstallMirrorRegistry(SshConnection connection) { var mirrorPort = 4999; // Mirror runs on port 4999 var mirrorDir = "/home/test/mirror"; var cmd = sshClient.Connect(connection).Command($"mkdir {mirrorDir}"); cmd = sshClient.Command( $"docker run -p {mirrorPort}:5000 -d --restart=always --name registry " + $"-e REGISTRY_PROXY_REMOTEURL=http://registry-1.docker.io " + $"-v {mirrorDir}:/var/lib/registry " + $"registry:2" ); var daemonjson = String.Join("\n", new string[] { "{", @" ""registry-mirrors"" : [""http://*****:*****@"""]", "}" }); var cmdLine = $"echo '{daemonjson}' > /etc/docker/daemon.json"; sshClient.SudoBash(cmdLine); sshClient.SudoReboot(); }
public CiExeCommands Configure(SshConnection connection, Uri vaultUri, string vaultToken) { this.connection = connection; this.vaultToken = vaultToken; this.vaultUri = vaultUri; return(this); }
private async Task tryConnect() { await Task.Run(() => { isLogging = true; //checking adress is neceserry because is faster than try to connect to bad IP using (var ping = new Ping()) { if (ping.Send(ipEditText.Text).Status != IPStatus.Success) { isLogging = false; throw new Exception("Host is unreachable"); } } try { SshConnection.Connect(ipEditText.Text, "root", passwordEditText.Text); } catch (Exception ex) { isLogging = false; throw new Exception($"Can not connect to router. {ex.Message}"); } isLogging = false; StartActivity(typeof(MenuActivity)); }); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SshConnection.Disconnect(); SetContentView(Resource.Layout.Logout); findViewsWith(); bindData(); handleEvents(); }
public void InstallDotNetCoreSdk(SshConnection connection) { sshClient.Connect(connection); sshClient.Command("curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg"); sshClient.SudoBash("mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg"); sshClient.SudoBash("sh -c 'echo \"deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main\" > /etc/apt/sources.list.d/dotnetdev.list'"); sshClient.SudoBash("sudo apt-get -qq --yes install apt-transport-https"); sshClient.SudoBash("sudo apt-get -qq update"); sshClient.SudoBash("sudo apt-get -qq --yes install dotnet-sdk-2.1.4"); }
private void setDefaultValues() { var wirelessConfiguration = SshConnection.Get_Wireless(); ssidEditText.Text = wirelessConfiguration.Ssid; keyEditText.Text = wirelessConfiguration.Key; encryptionSpinner.SetSelection((int)(Encryption)Enum.Parse(typeof(Encryption), wirelessConfiguration.Encryption.ToLower())); channelSpinner.SetSelection(Convert.ToInt32(wirelessConfiguration.Channel) - 1); modeSpinner.SetSelection((int)(Mode)Enum.Parse(typeof(Mode), wirelessConfiguration.Mode.ToLower())); networkSpinner.SetSelection((int)(Network)Enum.Parse(typeof(Network), wirelessConfiguration.Network.ToLower())); disabledCheckbox.Enabled = wirelessConfiguration.Disabled; }
private void bindData() { var wirelessConfiguration = SshConnection.Get_Wireless(); ssidTextView.Text = wirelessConfiguration.Ssid; keyTextView.Text = wirelessConfiguration.Key; encryptionTextView.Text = wirelessConfiguration.Encryption; channelTextView.Text = wirelessConfiguration.Channel; modeTextView.Text = wirelessConfiguration.Mode; networkTextView.Text = wirelessConfiguration.Network; disabledTextView.Text = wirelessConfiguration.Disabled ? "true" : "false"; }
private void ExCmd() { string cmd = SshConnection.ExecBashCommand(textBox_cmd.Text); if (cmd == null) { textBox_text.AppendText("Error executing command!" + Environment.NewLine); } else { cmd = Regex.Replace(cmd, "\n\r", "\n"); cmd = Regex.Replace(cmd, "\n", Environment.NewLine); textBox_text.AppendText(Environment.NewLine + "[" + SshConnection.sshexec.Username + "@" + SshConnection.sshexec.Host + "]: " + textBox_cmd.Text + Environment.NewLine + cmd + Environment.NewLine); } }
public VmMock GetVmMockBySshConnection(SshConnection connection) { var found = Vms.FirstOrDefault(vm => vm.SshUri.ToString() == connection.SshUri.ToString()); if (found == null) { throw new Exception("VmMock not found by Uri"); } if (connection.User != found.AdminUser || connection.Password != found.AdminPassword) { throw new Exception("Ssh Bad username / password"); } return(found); }
public string GetFirstSSH() { //FileLists fil_lst = new FileLists(); string return_value = null; SshConnection.sshexec.Password = SshSettings.pwd; //изменитьToolStripMenuItem.Enabled = false; ////TODO Соединение с сервером, получение списка файлов try { listBox_log.Items.Add("Connecting..."); Application.DoEvents(); if (!SshConnection.sshexec.Connected) { SshConnection.sshexec.Connect(); } Application.DoEvents(); listBox_log.Items.Add("Connected"); string first_cmd = SshConnection.ExecBashCommand("ls -la"); first_cmd = Regex.Replace(first_cmd, "\n\r", "\n"); first_cmd = Regex.Replace(first_cmd, "\n", Environment.NewLine); return_value = "Server version: " + SshConnection.sshexec.ServerVersion + Environment.NewLine + "Chiper algorytm: " + SshConnection.sshexec.Cipher + Environment.NewLine + first_cmd; listBox_log.Items.Add("Disconnecting..."); //FileLists.sshexec.Close(); listBox_log.Items.Add("OK"); } catch (Exception ex) { MessageBox.Show("Проверьте настройки подключения" + Environment.NewLine + "Произошла ошибка: " + ex.Message); //изменитьToolStripMenuItem.Enabled = true; listBox_log.Items.Add("ERROR"); return_value = null; } finally { if (return_value != null) { this.Close(); } } return(return_value); }
public void Create2() { var host = "doods.dev"; var login = "******"; var password = "******"; var port = 42; var obj = new SshConnection(host, port, login, password); Assert.IsNotNull(obj); Assert.AreEqual(ConnectionType.Ssh, obj.ConnectionType); Assert.AreEqual(port, obj.Port); Assert.AreEqual(host, obj.Host); Assert.AreEqual(login, obj.Credentials.Login); Assert.AreEqual(password, obj.Credentials.Password); Assert.AreEqual(AuthenticationType.Simple, obj.Credentials.AuthenticationType); }
public void CleanCiImage(SshConnection connection) { sshClient.Connect(connection); var containers = sshClient.Command("docker ps -a"); if (containers.Contains("ciexe")) { sshClient.Command("docker rm -f ciexe"); } var images = sshClient.Command("docker images"); if (images.Contains("ciexe")) { sshClient.Command("docker image rm -f ciexe"); } }
public void CloneOrPullCiSources(SshConnection connection) { sshClient.Connect(connection); sshClient.SudoBash("sudo apt-get -qq --yes install git"); var script = @" set -e -x if [ -d ""${HOME}/ci"" ]; then cd ${HOME}/ci git pull --quiet else mkdir ~/ci git --git-dir=${HOME}/ci clone --quiet https://github.com/emallard/ci.git fi "; sshClient.Script(script, "InstallCiSources.sh"); }
private void saveWireless_Click(object sender, EventArgs e) { var newWirelessConfiguration = new Wireless { Ssid = ssidEditText.Text.Replace("\r", ""), Key = keyEditText.Text, Encryption = Enum.GetName(typeof(Encryption), encryptionSpinner.SelectedItemId), Channel = (channelSpinner.SelectedItemId + 1).ToString(), Mode = Enum.GetName(typeof(Mode), modeSpinner.SelectedItemId), Network = Enum.GetName(typeof(Network), networkSpinner.SelectedItemId), Disabled = disabledCheckbox.Enabled }; SshConnection.Send_SaveWireless(newWirelessConfiguration); Toast.MakeText(this, "New configuration has been saved. Log in again to router.", ToastLength.Short).Show(); StartActivity(typeof(LoginActivity)); Finish(); }
private void FormSettings_Load(object sender, EventArgs e) { SshConnection.KillSSH(); //TODO Заглушка: аутентификация только с клавы comboBox_use_auth_key.SelectedIndex = 0; if (File.Exists(SaveSetting.path_to_set_file)) { SaveSetting.LoadSettings(ref o); } else { o.key_fname = Crypt.default_key;//50; o.pwd_file_enc = Crypt.default_key; o.key_size = "256"; o.server = "yuor-server.1gb.ru"; o.base_dir = "http/"; o.user = "******"; //o.pwd = "password"; SaveSetting.CreateSettings(o); } LoadToControls(); }
public IOmvService GetOmvService(Host host, ILogger logger, IMapper mapper) { IRpcClient service; if (host.IsSsh) { var connection = new SshConnection(host.Url, host.Port, host.UserName, host.Password); service = GetSsh(logger, connection); //SshService //var service2 = new SshService(logger, mapper); //service2.Init(connection, false); //_sshService = service2; //_sshServiceProvider.ChangeValue(_sshService); } else { var connection = new HttpConnection(host.Url, host.Port); service = GetHttp(logger, connection); } return(new OmvRpcService(service, logger, mapper)); }
public void CreateVm(string key, string vmName, string rootPassword, string adminuser, string adminpassword) { var ip = GetVmIp(key, vmName); var portForward = GetVmSshUri(key, vmName).Port; CheckClonableVm(); CheckVmDoesNotExists(vmName); // Clone clonableVm vBoxHelper.CloneVm(vmDir, clonableVm, vmName); // Start vm, it has been cloned from an image that runs on IP 10.0.2.200 vBoxHelper.StartVm(vmName); Thread.Sleep(20000); vBoxHelper.NatLocalSshPortForwarding("10.0.2.200", $"{portForward}"); var connection = new SshConnection() { SshUri = new Uri("ssh://127.0.0.1:22200"), User = "******", Password = "******" }; sshClient.Connect(connection); var command = $"sed 's/10.0.2.200/{ip}/g' /etc/network/interfaces > sed.tmp && cat sed.tmp > /etc/network/interfaces"; Console.WriteLine(command); var cmd = sshClient.Command(command); Console.WriteLine("result : " + cmd); Console.WriteLine("restart vm"); vBoxHelper.RestartVm(vmName); Thread.Sleep(20000); vBoxHelper.NatLocalSshPortForwarding(ip, $"{portForward}"); }
public ISshClient Connect(SshConnection sshConnection) { this.sshConnection = sshConnection; return(this); }
public void CleanCiSources(SshConnection connection) { sshClient.Connect(connection); sshClient.SudoBash("rm -rf ~/ci"); }
public void BuildCiImage(SshConnection connection) { sshClient.Connect(connection); sshClient.Command("docker build --force-rm -t ciexe ~/ci"); sshClient.Command("docker image rm $(docker images -f \"dangling=true\" -q)"); }
private void FormSettings_FormClosed(object sender, FormClosedEventArgs e) { SshConnection.InitSSH(); }
public void BuildCiUsingSdk(SshConnection connection) { sshClient.Connect(connection); sshClient.Command("cd ci && dotnet restore && dotnet publish -c Release -o out"); sshClient.Command("cd ci && docker build --force-rm -f DockerfileLocalBuild -t ciexe ~/ci"); }
private void toolStripBtnDisconnect_Click(object sender, EventArgs e) { MySQLConnection.CloseConnections(); SshConnection.CloseConnections(); Account.ClearAccounts(); }