Как использовать SSH-сервер


PHPoC можен быть установлен как SSH-сервер путем использования команды "set api ssh". В следующем примере показано, как создать SSH-сервер.

Пример SSH-сервера

$port = 22;                        // port number
$pid = pid_open("/mmap/tcp0");     // open TCP 0
pid_ioctl($pid, "set api ssh");    // set api to SSH
pid_bind($pid, "", $port);         // binding
pid_listen($pid);                  // listen TCP connection
while(1)
{
    $state = pid_ioctl($pid, "get state");
    if($state == SSH_AUTH)
    {
        $username = pid_ioctl($pid, "get ssh username");
        $password = pid_ioctl($pid, "get ssh password");
        echo "$username / $password\r\n";
        pid_ioctl($pid, "set ssh auth accept");
    }
    if($state == SSH_CONNECTED)
    {
        pid_send($pid, "Welcome to PHPoC SSH server\r\n");
        echo "Connection has been established!\r\n";
        pid_close($pid);
        break;
    }
}

В примере выше, PHPoC прослушивает SSH-соединения от клиентов. После того, как соединение установлено, печатается имя пользователя и пароль от клиента. После этого выводится приветственное сообщение и соединение закрывается.

※ Если вы хотите протестировать данный пример, откройте клиентскую программу SSH на ПК (например, Tera Term) и попробуйте подключиться к серверу PHPoC SSH.

※ Процесс аутенфикации, включающий идентификацию пользователя, должен быть реализован в пользовательском скрипте.