[Linux][polączenie zdalne][MINICOM][WinSCP][c#] - problem z odpaleniem komendy zdalnie
Ostatnio zmodyfikowano 2017-03-28 16:58
aaadam Temat założony przez niniejszego użytkownika |
[Linux][polączenie zdalne][MINICOM][WinSCP][c#] - problem z odpaleniem komendy zdalnie » 2017-03-28 12:46:33 witam, mam za zadanie napisać dllke nie musi to być koniecznie ssh,czy winscp obojętne, na razie uzywam winscp. tutaj przedstawie procedure którą mam do zautomatyzowania : loguje się do urządzenia zdalnie po przez putty uruchamiam polecenie : dmount potem otwieram WinSCP przekopiowuje poprzez WinScp plik w odpowiednie miejsce zamykam WinSCP wracam do putty uruchamiam polecenie : udmount uruchamiam polecenie : minicom tutaj utwiera mi się proces minicoma i w nim mam wpisać komende ee wf tutaj chwile się wgrywa i mam nacisnąć CTRL+A --> Q i pojawia się pole 'yes' / 'no' domyślnie wciskam enter i czyli 'yes' uruchamiam polecenie : reboot większość jest trywialna ale mam Problem z minicomem ponieważ odpalając komende w c# nie dostane się do kontekstu minicoma tak mi się wydaje :) może jakoś można, nie muszę koniecznie korzystać minicoma czy ssh czy winscp obojętne poprostu ddlka ma działać :)kombinowałem coś ze skryptem w minicomie ale nie działa,jestem słaby jeżeli chodzi i sprawy związane z linuxem... a to mój kod w c#. proszę o pomoc using System; using System.IO; using System.Net; using System.Text.RegularExpressions; using WinSCP;
namespace tmpssa { class Program { static int Main( string[] args ) { string inputFileName = args[ 0 ]; string tmpIp = args[ 1 ]; if( !File.Exists( inputFileName ) ) return 1; Regex reg = new Regex( @ "^([0-9]{1,3}\.){3}[0-9]{1,3}$" ); string value = reg.Match( tmpIp ).ToString(); if( !( value.Length > 0 ) ) { return 2; } SessionOptions sessionOptions = new SessionOptions { Protocol = Protocol.Sftp, HostName = tmpIp, UserName = args[ 2 ], Password = args[ 3 ], SshHostKeyFingerprint = "ssh-rsa xxxx xx:xx:xx:xx:xx:xx:xx:xx:xx:xxx:xx:xx:xx:xx:xx:xx" }; Session session = new Session(); try { TransferOptions transferOptions = new TransferOptions(); try { session.Open( sessionOptions ); } catch { } if( session.Opened ) { session.PutFiles( inputFileName, "/mnt/", false ); Console.WriteLine( session.ExecuteCommand( "minicom -S script.txt" ) ); <----tu mam Problem z tym minicomem session.Close(); } else { Console.WriteLine( "error" ); return 3; } } catch( Exception e ) { Console.WriteLine( "Error: {0}", e ); return 4; } return 0; } } }
|
|
mateczek |
» 2017-03-28 16:58:31 |
|
« 1 » |