我想通过我的api更改用户密码,但我当前的代码无效。
也许有人可以帮助我。
$cmd1 = "passwd ".$info['instanceFtpUser'];
$ssh->exec($cmd1."\n");
$ssh->exec($newpass."\n");
$ssh->exec($newpass."\n");
$ssh->disconnect();
顺便说一下,我正在使用phpseclib
答案 0 :(得分:0)
您的用例是phpseclib文档的示例: http://phpseclib.sourceforge.net/ssh/pty.html
正如您在上面看到的那样,您应该使用SELECT PAC.PACKAGED_ITEM_GID
FROM SHIPMENT SH, ORDER_MOVEMENT OM,
ORDER_MOVEMENT_D OMD, S_SHIP_UNIT SSU, S_SHIP_UNIT_LINE SUL,
PACKAGED_ITEM PAC
WHERE OM.SHIPMENT_GID = SH.SHIPMENT_GID
AND OM.ORDER_MOVEMENT_GID = OMD.ORDER_MOVEMENT_GID
AND OMD.S_SHIP_UNIT_GID = SSU.S_SHIP_UNIT_GID
AND SSU.S_SHIP_UNIT_GID=SUL.S_SHIP_UNIT_GID
AND SUL.PACKAGED_ITEM_GID = PAC.PACKAGED_ITEM_GID
AND SH.SHIPMENT_GID = 'ULA/SAO.5000070143'
输出到PTY,而不是write
:
exec
答案 1 :(得分:0)
您还可以使用sshpass(https://sourceforge.net/projects/sshpass/),它可以让您在不需要密码的情况下ssh到远程服务器。您可以创建一个ssh到远程服务器的脚本并设置新密码。然后,您可以使用php exec函数调用此脚本。