Example #1
0
        private static object CleanupSsh(dynamic parm)
        {
            string userRegex = parm["user_regex"].Value;
            string userName  = userRegex.Remove(0, 1);

            userName = userName.Remove(userName.Length - 1, 1);
            SshResult sshResult = new SshResult();

            sshResult.Command = "cleanup";
            Logger.Info("Cleaning up SSH");

            try
            {
                WindowsVCAPUsers.DeleteUser(userName);
                File.Delete(Path.Combine(Config.BaseDir, "bosh", "salt", userName + ".salt"));
                Logger.Info("Deleted salt file");
                sshResult.Status = "success";
                Logger.Info("Deleted user for SSH");
                SshdMonitor.StopSshd();
            }
            catch (Exception ex)
            {
                Logger.Error("Failed to delete user " + ex.ToString());
                sshResult.Status = "failed";
            }

            sshResult.IP = null;
            return(sshResult);
        }
Example #2
0
        private static object SetupSsh(dynamic parameters)
        {
            string userName = parameters["user"].Value;

            //Needed to enforce windows password rules
            string password = string.Format(CultureInfo.InvariantCulture, "{0}!", parameters["password"].Value);

            SaveSaltInFile(userName, password.Substring(0, 2));

            Logger.Info("Setting up SSH with user:"******" and password: "******"setup";
            try
            {
                Uhuru.Utilities.WindowsVCAPUsers.CreateUser(userName, password);
                Uhuru.Utilities.WindowsUsersAndGroups.AddUserToGroup(userName, "Administrators");
                sshResult.Status = "success";
                Logger.Info("Created user for SSH");
                SshdMonitor.StartSshd();
            }
            catch (Exception ex)
            {
                Logger.Error("Failed to create user " + ex.ToString());
                sshResult.Status = "failed";
            }
            sshResult.IP = Config.DefaultIP;

            return(sshResult);
        }
Example #3
0
        public void TC001_TestSSH()
        {
            //Arrange
            string fileContent = File.ReadAllText("settings.json");

            Config.Setup(JsonConvert.DeserializeObject(fileContent), false);

            Ssh    ssh        = new Ssh();
            string sshMessage = string.Format(
                @"[""setup"",
{{
    ""user"":""uSr12{0}"",
    ""public_key"":
    ""ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCr8DjwYoyfnhth18sfS8FBd+sjLZ8TShaHmWYTUKLqsVs/XR35ZKDrzwwEsDCva01drwQr3/ynkznVdycCnqi9cSRA+f1McOlKU9KGLEFx8tusRpQbOkF8bmFJqdG9BZBZnN6wEI+s1n8vU1xjWjM1vw/Wc1ad+VuKd3wCvgCC8waUCug47+OxDJtSH088Ex2WzZ59o6JVBl6v4PHWeKuaUYkndTgpQxmDZd3Z9q1TbGOxdmt6JVRvL43QUXSiOJfvvszKVxk0TU1dtYvNDd9JyST7988RezEPHxVeBdVbSJDeV/logaRGyZwGO6DpTP1hObXRD/gxoirTJ/k41n3L root@ubuntu"",
    ""password"":""Pa123!{1}""
}}]", Uhuru.Utilities.Credentials.GenerateCredential(), Uhuru.Utilities.Credentials.GenerateCredential());

            //Act
            SshResult result = ssh.Process(JsonConvert.DeserializeObject(sshMessage)) as SshResult;

            //Assert
            Assert.AreEqual("success", result.Status.ToLower());
        }