NativeSshSession
in package
implements
SshSessionInterface, SftpChannelInterface
Нативная SSH-2 сессия на PHP openssl/gmp без Composer runtime-зависимостей.
Tags
Table of Contents
Interfaces
- SshSessionInterface
- Внутренний контракт прикладной SSH-сессии без внешних Composer-зависимостей.
- SftpChannelInterface
- Канал обмена SFTP-PDU поверх уже установленной SSH-сессии.
Methods
- __construct() : mixed
- Выполняет identification, KEX, userauth и опционально SFTP INIT.
- disconnect() : void
- Корректно отключает сессию (DISCONNECT) и освобождает транспорт.
- exec() : string
- Выполняет команду на удалённом хосте через channel request «exec».
- isConnected() : bool
- Проверяет, что сессия ещё активна после handshake и аутентификации.
- openSftp() : SftpClient
- Открывает SFTP subsystem поверх той же SSH-сессии.
- read() : string
- Читает доступные данные из буфера session-канала.
- receiveSftp() : string
- Читает один полный SFTP payload (уже без внешнего length framing).
- sendSftp() : void
- Отправляет SFTP payload без внешнего uint32 length framing (его добавляет клиент).
- write() : void
- Пишет данные в открытый session-канал (CHANNEL_DATA).
Methods
__construct()
Выполняет identification, KEX, userauth и опционально SFTP INIT.
public
__construct(mixed $stream, AuthCredentials $auth[, bool $preferSftp = false ]) : mixed
Parameters
- $stream : mixed
-
PHP stream resource после TCP connect
- $auth : AuthCredentials
-
Password или publickey
- $preferSftp : bool = false
-
true — сразу поднять SFTP subsystem
Tags
disconnect()
Корректно отключает сессию (DISCONNECT) и освобождает транспорт.
public
disconnect() : void
Отправляет DISCONNECT (reason 11) и закрывает wire.
Attributes
- #[Override]
exec()
Выполняет команду на удалённом хосте через channel request «exec».
public
exec(string $command) : string
Parameters
- $command : string
-
Команда для exec
Tags
Attributes
- #[Override]
Return values
string —Вывод канала до EOF
isConnected()
Проверяет, что сессия ещё активна после handshake и аутентификации.
public
isConnected() : bool
Attributes
- #[Override]
Return values
bool —true после успешного конструктора до disconnect()
openSftp()
Открывает SFTP subsystem поверх той же SSH-сессии.
public
openSftp() : SftpClient
Tags
Attributes
- #[Override]
Return values
SftpClient —Клиент поверх этой сессии
read()
Читает доступные данные из буфера session-канала.
public
read([int $maxLength = 8192 ]) : string
Parameters
- $maxLength : int = 8192
-
Максимум байт; ≤0 трактуется как 1
Tags
Attributes
- #[Override]
Return values
string —Фрагмент буфера или ''
receiveSftp()
Читает один полный SFTP payload (уже без внешнего length framing).
public
receiveSftp() : string
Tags
Attributes
- #[Override]
Return values
string —Один SFTP payload без внешнего uint32 length
sendSftp()
Отправляет SFTP payload без внешнего uint32 length framing (его добавляет клиент).
public
sendSftp(string $sftpPayload) : void
Parameters
- $sftpPayload : string
-
Тело SFTP без внешнего length
Tags
Attributes
- #[Override]
write()
Пишет данные в открытый session-канал (CHANNEL_DATA).
public
write(string $payload) : void
Parameters
- $payload : string
-
Байты CHANNEL_DATA
Tags
Attributes
- #[Override]