Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP开放SSH会话_Php_Ssh - Fatal编程技术网

PHP开放SSH会话

PHP开放SSH会话,php,ssh,Php,Ssh,实际上,我正在创建一个脚本,用于创建集中式ssh主机。这意味着所有主机名和地址都存储在特定组的数据库中,这样团队中的每个人都可以拥有相同的、更新的机器。在我尝试shell_exec()…脚本提示密码之前,一切都很好,但在键入密码后,密码被卡住了 我不想通过ssh执行远程命令,只需为用户打开ssh会话。用户必须通过键入“php script.php”从Linux shell执行脚本 谢谢 下面是我的简单脚本: <?php header('Content-Type: text/html; c

实际上,我正在创建一个脚本,用于创建集中式ssh主机。这意味着所有主机名和地址都存储在特定组的数据库中,这样团队中的每个人都可以拥有相同的、更新的机器。在我尝试shell_exec()…脚本提示密码之前,一切都很好,但在键入密码后,密码被卡住了

我不想通过ssh执行远程命令,只需为用户打开ssh会话。用户必须通过键入“php script.php”从Linux shell执行脚本

谢谢

下面是我的简单脚本:

<?php

header('Content-Type: text/html; charset=utf-8');

echo "##############################\n";
echo "##        SSH SCRIPT        ##\n";
echo "##############################\n";
$result = getGroups(); 
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo $row['group_id'].") ".$row['name']."\n";
    }
echo "Select:";
} else {
    echo "No groups";
}


$groupID=trim(fgets(STDIN));    

$result = getHosts($groupID);   
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo $row['host_id'].") ".$row['hostname']."\n";
    }
echo "Select:";
} else {
    echo "0";
}

$hostID=trim(fgets(STDIN));    
$result = getAddress($hostID);      
ssh($result);    

#### Functions ####
function getAddress($hostID) {
    require("db.php");
    $sql = "SELECT address FROM hosts WHERE host_id=".$hostID."";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {
        $row = $result->fetch_assoc();
        return $row['address'];      
    }
}

function getHosts($groupID) {
    require("db.php");
    $sql = "SELECT * FROM hosts WHERE group_id=".$groupID."";
    $result = $conn->query($sql);
    return $result;
}

function getGroups() {
    require("db.php");
    $sql = "SELECT * FROM groups";
    $result = $conn->query($sql);
    return $result;
}

function ssh($ip) {
    shell_exec('ssh root@'.$ip.'');
}

?>


其他建议:将其转换为动态创建脚本或调用SSH URL处理程序的web应用程序。它不能创建为web应用程序:(