2013-04-24 3 views
0

이 문제와 관련된 예제를 찾을 수 없습니다.phpseclib - 프롬프트 값 입력

$ssh->exec('sudo pure-pw useradd '.$server_dir.' -u ftpuser -d /home/ftpusers/'.$server_dir); 

와 퍼티를 사용하는 경우가 프롬프트를 반환해야합니다 : 나는 명령

를 보낸 후 는 내가이 명령을 보내 오는 메시지를 표시하는 값을 입력합니다. sudo 암호가 아닙니다 (사용자 암호 프롬프트가 비활성화되었습니다). 암호 프롬프트는 ftp 사용자를위한 것입니다. 그 후

Password: 

:

Enter it again: 
가 궁금

, 어떻게 내가 phpseclib 그들을 대답 할 수 ?

$ssh-exec('password'); 
$ssh-exec('password'); 

을했지만 작동하지 않는, 그래서 나는 종류의 지금 붙어있어 : 나는 시도했다.

편집 // 또한 읽기 및 쓰기 사용하려고했으나 페이지는 .. 영원히 로딩에 계속

답변

2

좋아요 그래서 결국 나는 여기에 코드입니다, 작업 가지고 : 당신이 후

$ssh->write('sudo pure-pw useradd '.$server_dir.' -u ftpuser -d /home/ftpusers/'.$server_dir."\r\n"); 
$ssh->read("Password:"); 
$ssh->write($ftp_pw."\r\n"); 
$ssh->read("Enter it again:"); 
$ssh->write($ftp_pw."\r\n"); 
$ssh->exec("sudo pure-pw mkdb"); 
+0

가 마지막으로 나는 개인적으로'$ ssh-> read ('prompt')'를하고 나서 $ ssh-> write ('sudo ... ')를하는 것이 더 나을 것이라고 생각한다. 그러나 당신이하고있는 일이 그때 일한다면 너무 우울해. – neubert