Нет результата после выполнения команды ssh c#

maksgmn

Client
Регистрация
29.01.2016
Сообщения
204
Благодарностей
6
Баллы
18
Есть следующий код

Код:
SshClient sshClient = new SshClient(host, 22, login, password);

    sshClient.Connect();

        /*1 этап
        shellStream.WriteLine("yum install httpd");
        System.Threading.Thread.Sleep(1000 * 4);
        shellStream.WriteLine("y");
        shellStream.Expect(new Regex(@"Complete!"), new TimeSpan(0, 15, 0));*/

        //2 этап
        var cmd = sshClient.CreateCommand("chkconfig iptables off && service iptables stop");
        cmd.Execute();
        cmd = sshClient.CreateCommand("chkconfig ip6tables off && service ip6tables stop");
        cmd.Execute();

        //3 этап
        cmd = sshClient.CreateCommand("echo 'NETWORKING_IPV6=yes' >> /etc/sysconfig/network");
        cmd.Execute();

        //4 этап
        cmd = sshClient.CreateCommand("echo"+" "+  "> /etc/sysconfig/network-scripts/ifcfg-sit1");
        cmd.Execute();
        cmd = sshClient.CreateCommand("echo 'DEVICE=sit1' >> /etc/sysconfig/network-scripts/ifcfg-sit1");
        cmd.Execute();
        cmd = sshClient.CreateCommand("echo 'BOOTPROTO=none' >> /etc/sysconfig/network-scripts/ifcfg-sit1");
        cmd.Execute();
        cmd = sshClient.CreateCommand("echo 'ONBOOT=yes' >> /etc/sysconfig/network-scripts/ifcfg-sit1");
        cmd.Execute();
        cmd = sshClient.CreateCommand("echo 'IPV6INIT=yes' >> /etc/sysconfig/network-scripts/ifcfg-sit1");
        cmd.Execute();
        cmd = sshClient.CreateCommand("echo IPV6TUNNELIPV4="+REMOTE_IPV4+">> /etc/sysconfig/network-scripts/ifcfg-sit1");
        cmd.Execute();
        cmd = sshClient.CreateCommand("echo IPV6TUNNELIPV4LOCAL="+LOCAL_IPV4+">> /etc/sysconfig/network-scripts/ifcfg-sit1");
        cmd.Execute();
        cmd = sshClient.CreateCommand("echo IPV6ADDR="+LOCAL_IPV6+"::2/48"+">> /etc/sysconfig/network-scripts/ifcfg-sit1");
        cmd.Execute();

        //5 этап
        cmd = sshClient.CreateCommand("echo sit1 ::/0 > /etc/sysconfig/static-routes-ipv6");
        cmd.Execute();

        //6 этап
        cmd = sshClient.CreateCommand("echo -A INPUT -p 41 -j ACCEPT >> /etc/sysconfig/iptables");
        cmd.Execute();

        //7 этап
        cmd = sshClient.CreateCommand("echo nameserver 2001:4860:4860::8888 >> /etc/resolv.conf");
        cmd.Execute();
        cmd = sshClient.CreateCommand("echo nameserver 2001:4860:4860::8844 >> /etc/resolv.conf");
        cmd.Execute();

        //8 этап
        cmd = sshClient.CreateCommand("wget http://3proxy.ru/0.8.6/3proxy-0.8.6.tgz");
        System.Threading.Thread.Sleep(1000 * 8);
        cmd.Execute();
        cmd = sshClient.CreateCommand("tar -xvf 3proxy-0.8.6.tgz");
        cmd.Execute();
        System.Threading.Thread.Sleep(1000 * 8);
        cmd = sshClient.CreateCommand("cd 3proxy");
        cmd.Execute();
        cmd = sshClient.CreateCommand("ln -s /usr/lib64/libcrypto.so.10 /usr/lib/libcrypto.so");
        cmd.Execute();
        System.Threading.Thread.Sleep(1000 * 1);
        cmd = sshClient.CreateCommand("ln -s /usr/lib64/libssl.so.10 /usr/lib/libssl.so");
        cmd.Execute();
        System.Threading.Thread.Sleep(1000 * 1);

        //9 этап

        IDictionary<Renci.SshNet.Common.TerminalModes, uint> termkvp = new Dictionary<Renci.SshNet.Common.TerminalModes, uint>();
        termkvp.Add(Renci.SshNet.Common.TerminalModes.ECHO, 53);
        ShellStream shellStream = sshClient.CreateShellStream("xterm", 80,24, 800, 600, 1024, termkvp);

        shellStream.WriteLine("make -f /root/3proxy/Makefile.Linux");
        System.Threading.Thread.Sleep(1000 * 50);


        //12 этап


        sshClient.Disconnect();

        return "ok";
До этапа 9 всё хорошо выполняется, все данные записываются в файлы и команды также выполняются. На 9 этапе я хочу произвести сборку 3proxy с помощью команды make -f /root/3proxy/Makefile.Linux - не производится сборка, хотя если этот же код просто прописать в консоли, то все работает. В чем может быть проблема? Причем ошибок компиляции нет
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 089
Благодарностей
126
Баллы
63
Решение нашлось?
 

AlexanderS174

Client
Регистрация
25.09.2020
Сообщения
1
Благодарностей
0
Баллы
1
Есть какое нибудь решение данной проблемы, может кто нибудь подсказать? Код отрабатывает без ошибок, а результата после него нет
 

ZULI

Client
Регистрация
09.09.2020
Сообщения
423
Благодарностей
165
Баллы
43
shellStream.WriteLine("make -f /root/3proxy/Makefile.Linux");
я не спец, но ИМХО ты передаешь команду, а вот ENTER не нажимаешь

ЗЫ, во всех предыдущих этапах у тебя
cmd = sshClient.CreateCommand("xxxxxxxxxxxxxxxxx");
cmd.Execute();

а в 9-й по другому.

ЗЫ, ЗЫ. Был к предыдущих конкурсах шаблон который на автомате поднимает 3proxy, может и изобретать ничего не нужно?
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)