我正在尝试使用来自另一台服务器的 PHP 将用户添加到我的 Ubuntu 虚拟机 (Microsoft Azure)。
这是我的代码。
PHP 代码:
//including phpseclib
include('Net/SSH2.php');
//Username and Password from form
$username = $_POST['user'];
$password = $_POST['pass'];
//connecting to azure vm using ssh
$ssh = new Net_SSH2('myservername.cloudapp.net:22');
$ssh->login('myuserid', 'mypassword') or die("Login failed");
$ssh->getServerPublicHostKey();
$cmd = "sudo useradd -d /home/$username -p $(perl -e'print crypt(\"$password\", \"cu\")') $username";
$cmdr = $ssh->exec($cmd);
用户已成功创建,但是当我使用 putty 使用新创建的用户名和密码登录服务器时,它显示“访问被拒绝”
请帮忙,我哪里出错了?
最佳答案
允许用户使用第二个命令登录
$cmd = "sudo useradd -d /home/$username -p $(perl -e'print crypt(\"$password\", \"cu\")') $username";
$cmdr = $ssh->exec($cmd);
$cmd = "sudo passwd -u {$username}";
$cmdr = $ssh->exec($cmd);
关于php - 使用 PHP 在 ubuntu 中添加用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24342526/