0

Utilizando SSH2

criado por Jeison Isair Schneider em 19/04/2012 11:10am
Pessoal estou tentando fazer uma conexão com outro servidor, percebi que não consigo isso de utilizando o "exec" e sim com "ssh2_exec".
O problema é o seguinte:
//Faço a conexão com o servidor
$conexao = ssh2_connect("192.168.0.10", 30500);

//valida a conexão
if(ssh2_auth_password($conexao, "USUARIO", "senha")){

//agora preciso fazer o USUARIO virar root, porém não sei como fazer
//tentei ssh2_exec("sudo su"); ssh2_exec("senha");
//mas não funciona

}

Obrigado!

Lista de Respostas:

+1
03/05/2012 3:32pm
(~9 anos atrás)
Marcos Regis respondeu:
Basta enviar o comando pela função fwrite.

fwrite($stdio,'kill -9 ID_PROCESSO');

Existem scripts de shell interativo para PHP.
Talvez seja isso que vocÊ queira.
Dê uma procura por PHP interative shell no Google para ver se encontra algo que você possa adaptar.

0
19/04/2012 7:28pm
(~9 anos atrás)
Marcos Regis respondeu:
Tente assim

$conexao = ssh2_connect("192.168.0.10", 30500);

if(ssh2_auth_password($conexao, "USUARIO", "senha")){

//agora preciso fazer o USUARIO virar root, porém não sei como fazer
//tentei ssh2_exec("sudo su"); ssh2_exec("senha");
//mas não funciona

$stream = ssh2_shell($conexao, 'vt102', null, 80, 24, SSH2_TERM_UNIT_CHARS);

fwrite($stdio,'sudo su');
sleep(1); // necessário para evitar problemas de sobrescrita do stream antes de terminar a execução
fwrite($stdio,'senha');

}

0
27/04/2012 6:00pm
(~9 anos atrás)
Blz Marcos, mas neste exemplo aí, digamos que agora eu queira dar um kill em um processo como eu faço?

Obrigado pela ajuda

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)