Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zdalne logowanie ssh i wykonanie polecenia
Forum PHP.pl > Forum > Przedszkole
Gularz_pl
Witam

<?php
$ip = getenv("REMOTE_ADDR") ;
exec(escapeshellcmd('ssh -l www-data -i /home/noc/.ssh/id_dsa xxx.xxx.xx.x "/ip address add . $ip"'));
?>


Skrypt ma za zadanie zalogowac się przez ssh na inną maszynę i wykonać określoną komendę ( tu dodaje adress ip odwiedzającego www)

Problem mam z połączeniem "/ip address add " i $ip
samo polaczenie ssh z kluczami dsa przebiega poprawnie i jesli zamiast paprametru $ip wpisze recznie adres ip to skrypt dziala ok

W jaki sposób mozna to wykonać ?
Sabistik
Poczytaj o stringach i ich łączeniu:
  1. <?php
  2. exec(escapeshellcmd('ssh -l www-data -i /home/noc/.ssh/id_dsa xxx.xxx.xx.x "/ip address add '.$ip.'"'));
  3. ?>
marcio
Laczysz zle zmienne
Gularz_pl
mozna jakieś bliższe dane questionmark.gif?

ale skrypt dziala juz ok ,serdeczne dzięki smile.gif
-Gularz_pl-
Witam ponownie

znów coś nie tak mam nadzieję że pomożecie


  1. <?php
  2. exec(escapeshellcmd('ssh -l admin -i /var/www/.ssh/id_dsa 192.168.1.1 "/ppp secret disable [/ppp secret find remote-addres='.$ip.']"'));
  3. ?>


potrzebuję takiego wariantu

tu wykonuje się zdajne wejscie na server i odszukanie ip goscia a następnie wyłaczenie
tyle ze znów pewnie nie tak przekazuję stringi smile.gif

w razie co serdecznie dziękuję
-Gularz_pl-
poradziłem sobie ale zostawiam dla potomnych exclamation.gif

prawidłowo działająca funkcja

  1. <?php
  2. escapeshellcmd(`ssh -l admin -/var/www/.ssh/id_dsa 192.168.1."/ppp secret disable [find remote-addres=$ip]"`);
  3. ?>



coż to robi questionmark.gif?
ano loguje się na Mikrotika i tu wyłącza odwiedzającemu proifil w ppp secret
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.