muszę wykonać tę czynność przy użyciu kodu C#:Jak uruchamiać polecenia na serwerze SSH w języku C#?
- otwarty putty.exe w tle (to jest jak okno cmd)
- logowanie do zdalnego hosta przy użyciu adresu IP
- enter nazwa użytkownika i hasło
- Wykonaj kilka poleceń jedna po drugiej.
- uruchomić inną komendę, która dostaje odpowiedź mówiąc mi, że polecenia wpadłem wcześniej gdzie wykonana pomyślnie
Więc staram się zrobić to tak:
ProcessStartInfo proc = new ProcessStartInfo()
{
FileName = @"C:\putty.exe",
UseShellExecute = true, //I think I need to use shell execute ?
RedirectStandardInput = false,
RedirectStandardOutput = false,
Arguments = string.Format("-ssh {0}@{1} 22 -pw {2}", userName, hostIP, password)
... //How do I send commands to be executed here ?
};
Process.Start(proc);
Czy chcesz uruchomić ten sam zestaw poleceń za każdym razem?Jeśli tak, spróbuj dodać je do swojego pliku '.bashrc'. Jeśli chcesz uruchamiać różne polecenia, powiedz nam. – AirPett
Polecenia, których używam, to dodawanie adresów MAC użytkowników do kontrolera Wi-Fi. Więc w zasadzie polecenia są takie same, ale z innym adresem MAC za każdym razem ... Czy możesz mi powiedzieć, co to jest plik '.bashrc' i jak mogę go dodać? –
JEŻELI jest serwerem Linux (przypuszczam, że tak, ponieważ używa ssh), w katalogu domowym użytkownika jest plik o nazwie '.bashrc' (/home/$user/.bashrc). Ten plik jest skryptem powłoki, który jest wykonywany za każdym razem, gdy użytkownik się loguje. Na przykład echo niektórych szczegółów dotyczących wydajności serwera zawsze przy logowaniu (tj. 'Df -h' i' uptime'). – AirPett