我无法在用户创建的php页面中使用ftp ssh2创建用户但我无法使用filezilla登录
$command = 'useradd '.$serveruser.' -p '.$serverpass.' -d '.$dir.'';
$ssh2->exec($command);
$ssh2->exec("passwd $serveruser");
$ssh2->read('Enter new UNIX password:');
$ssh2->write("$serverpass\n");
$ssh2->read('Retype new UNIX password:');
$ssh2->write("$serverpass\n");
抱歉我的英文错误
答案 0 :(得分:0)
这可以通过两种不同的方式完成。例如。在PTY模式下使用exec():
$ssh->exec('sudo useradd newuser');
$ssh->enablePTY();
$ssh->exec('sudo passwd newuser');
$ssh->read('Enter new UNIX password:');
$ssh->write("newpass\n");
$ssh->read('Retype new UNIX password:');
$ssh->write("newpass\n");
直接使用write():
$ssh->exec('sudo useradd newuser');
$ssh->write("sudo passwd newuser\n");
$ssh->read('Enter new UNIX password:');
$ssh->write("newpass\n");
$ssh->read('Retype new UNIX password:');
$ssh->write("newpass\n");
当我这样做时,我可以通过SSH使用新帐户登录。例如
include('Net/SSH2.php');
$ssh = new Net_SSH2('127.0.0.1', 4022);
echo $ssh->login('newuser', 'newpass') ? 'good login' : 'bad login';
要确保密码确实已成功更改,请在上次发送密码后执行此操作:
$ssh->setTimeout(0.5);
echo $ssh->read();
您还可以通过cat /etc/passwd
验证帐户是否已创建。