MTGmati | 2021-02-17 10:25:46 UTC | #1
Jak mogę połączyć się do SSH za pomocą PHP aby wysłać polecenie uruchamiające skript?
Infinity | 2018-02-18 07:33:14 UTC | #2
PHP ma funkcje:
shell_exec("ADRES SKRYPTU.sh");
Możesz mieć ją wyłączoną, w konfiguracji PHP.
skilx | 2018-02-18 09:22:30 UTC | #3
O ile masz na myśli połączenie z zewnętrznym serwerem, to może ci pomóc:
$serwer = “IP”;
$login = “NAZWA UŻYTKOWNIKA”;
$haslo = “HASŁO DO UŻYTKOWNIKA”;
$komenda = ‘KOMENDA DO WYKONANIA’
$polaczenie = ssh2connect($serwer, 22);
ssh2authpassword($polaczenie, $login, $haslo);
$stream = ssh2exec($polaczenie, $komenda);
streamsetblocking($stream, true);
$wynik = streamgetcontents($stream);
Ta metoda potrzbuję rozszerzenia SSH2 od PHP.
apt-get install php-ssh2
MTGmati | 2018-02-18 18:08:22 UTC | #4
Otrzymuje następujący błąd:
PHP Parse error: syntax error, unexpected '$polaczenie' (T_VARIABLE)
skilx | 2018-02-18 18:44:53 UTC | #5
Ups, mała poprawka. Zapomniałem ’ ; ’ na jednej linice. (Ciężko pisać kod telefonem )
Oto poprawny kod:
$serwer = “IP”;
$login = “NAZWA UŻYTKOWNIKA”;
$haslo = “HASŁO DO UŻYTKOWNIKA”;
$komenda = ‘KOMENDA DO WYKONANIA’;
$polaczenie = ssh2connect($serwer, 22);
ssh2authpassword($polaczenie, $login, $haslo);
$stream = ssh2exec($polaczenie, $komenda);
streamsetblocking($stream, true);
$wynik = streamgetcontents($stream);
MTGmati | 2018-02-18 18:57:53 UTC | #6
Poprawiłem i mam następujący błąd:
1. PHP Warning: ssh2_exec(): Connection not authenticated in
2. PHP Warning: stream_set_blocking() expects parameter 1 to be resource, boolean given
skilx | 2018-02-18 21:46:26 UTC | #7
:thinking: … :thinking: :thinking: …
Zauważyłem że forum koduję znak ’ “ ’ na ’ “ ’ znak podczas pisania kodu jako cytat.
Uwież mi jest różnica.
Zostawię to panu @SystemZ do rozwiązania.
Tutaj masz najprawdopodobnie działający kod :joy:
https://pastebin.com/raw/nxvBXHi6
Nieznajomy11 | 2018-02-19 06:03:51 UTC | #8
bo ty pakujesz kod w cytat, to nie działa :wink:
musisz zrobić tak:
```php
kod
```
system | 2021-02-17 10:25:53 UTC | #9
Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.