как с c# изменить пароль в Ubuntu?

У меня получилось так, но это не работает

using (var client = new SshClient(Host, Port, AdminUsername, AdminPassword))
            {
                client.Connect();

                var cmd = $"echo -e \"{password}\n{password}\n\" | sudo passwd {username}";
                string escapedArgs = cmd.Replace("\"", "\\\"");
                
                using (var command = client.CreateCommand(escapedArgs))
                {
                    command.Execute();
                    Console.WriteLine(command.Result);
                }

                client.Disconnect();
            }

это тоже не сработало

public static string Bash(string cmd)
    {
        string escapedArgs = cmd.Replace("\"", "\\\"");

        Process process = new Process()
        {
            StartInfo = new ProcessStartInfo
            {
                FileName = "/bin/bash",
                Arguments = $"-c \"{escapedArgs}\"",
                RedirectStandardOutput = true,
                UseShellExecute = false,
                CreateNoWindow = true,
            }
        };

        process.Start();
        string result = process.StandardOutput.ReadToEnd();
        process.WaitForExit();

        return result;
    }
 using (var client = new SshClient(Host, Port, AdminUsername, AdminPassword))
            {
                client.Connect();
                var cmd = client.RunCommand(Bash($"echo -e \"{password}\n{password}\n\" | sudo passwd {AdminPassword}")).Result;
            
                client.Disconnect();
            }

может что-то не так написано или я совсем не то делаю?


Ответы (0 шт):