Newsgroup: it.comp.www.php
Titolo: Php e SSH

Salve a tutti,
sono alle prime armi con php e non riesco a capire come poter stabilire
una connessione ssh con php.
Qualcuno di voi sa come aiutarmi?
Grazie
Lorenza

Lorenza Soverini wrote:

SSH o SSL?
Per aprire una connessione ssh devi reimplementare tutto il protocollo in
php, e non è affatto una cosa banale.
A cosa ti servirebbe?
Ciao
     ce
-- 
Per rispondermi in privato, togliere "_pre" e "sso_" dall'indirizzo
Remove "_pre" and "sso_" from my email address to reply to me

Ciao,
allora, avrei proprio bisogno di ssh per fare una connessione in remoto
con un pc di un esperimento per l'universita'.
Con php sono riuscita a connettermi via ssh semplicemente implementando un
file .php e lanciandolo da shell (parlo sempre di linux) e la connessione
si e' stabilita senza problemi.
Ora il problema e' che non riesco invece a far si' che lo stesso codice
funzioni su di una pagina web, per il momento ho semplicemente preso e
copiato il codce php nel codice html, ma cosi' non funziona, la
connessione viene rifiutata...(vedo che viene rifituata controllando le
trasmissioni sulla rete, perche' di per se sul browser non succede
nulla)...
Ho anche provato a far eseguire il file .php richiamandolo dalla pagina
web, ma cosi' non parte nulla...
questo fatto di implementare ssh su php non mi attira molto...
sincermente non so quale sia esattamente la differenza tra ssh e ssl,
potrebbe benissimo essere che ssl mi basti... ma ti ripeto, non lo
conosco.
non so se mi sono spiegata... dubito... visto che anche io ci capisco
sempre meno... se pero' sai darmi un qualche consiglio,grazie!
Lorenza

una connessione ssh con php.
A seconda di cosa ti serve, non e' detto che si possa fare.
Dettaglia.
Leonardo
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.

Dettaglio, sperando di riuscire a spiegarmi:
Mi serve ssh per stabilire una connesione remota con un pc universitario
per poter poi fare ls e aprire alcuni file presenti sull'host a cui mi
connetto per poi mostrarne il contenuto da una pagina web(quella da cui si
lancerebbe in teoria l'ssh).
Ho provato a usare un file php come uno script banale e cosi' funziona e
stabilisce la connessione ssh. Se invece inserisco lo stesso codice
all'interno di un <html> </html> non funziona, l'host rifiuta la
connessione e questo avviene con qualsiasi tipo di comando che agisca
sull'host, come scp, finger...
Premetto che uso ssh basandomi sull'sshkeygen 
Ieri sera ho notato che, se guardo chi e' l'utente che lancia l'ssh dopo
averlo chiamato dal web, questo e' il server apache...e non l'utente
"lorenza" come avviene ovviamente php da shell.
Ora, io non so praticamente nulla di php e non sapevo che i comandi
venissero eseguiti da apache... e penso che questo sia il mio problema,
dovuto al discorso keygen che e' invece associato all'utente "lorenza"...
che fare?
Non so se mi sono spiegata...spero
grazie,
Lorenza

lancerebbe in teoria l'ssh).
Questo si puo' fare.
Devi prima di tutto dare i diritti dell'utente remoto al wwwrun locale,
inserendo una identity nel file .ssh/authorized_keys* del server remoto
e quindi salvandone la controparte in locale, FUORI dall'albero htdocs,
oppure protetta da un file .htaccess.
Fatto questo, puoi eseguire un ls remoto:
$ls = popen("/usr/bin/ssh -C -a -l $USER -T -i $IDENTITYFILE \"ls -la
$REMOTEDIR", "r");
while(!feof($ls))
{
	$lsline = fgets($ls, 1024);
	// Puoi usare preg_split() per dividere $lsline in campi...
	print "<TT>$lsline</TT><BR/>";
}
e anche un cat:
$ls = popen("/usr/bin/ssh -C -a -l $USER -T -i $IDENTITYFILE \"cat
$REMOTEFILE", "r");
$file_content = '';
while(!feof($ls))
	$file_content .= fgets($ls, 1024);
