SshWire
in package
FinalYes
Низкоуровневый обмен SSH-пакетами: plain и AES-128-CTR + HMAC-SHA256.
Tags
Table of Contents
Methods
- __construct() : mixed
- Привязывает wire к уже открытому TCP stream.
- close() : void
- Закрывает TCP stream и обнуляет ссылку (повторный вызов безопасен).
- enableEncryption() : void
- Включает шифрование и MAC после обмена NEWKEYS.
- receive() : string
- Читает следующий SSH-пакет и возвращает payload без padding.
- send() : void
- Отправляет SSH payload (без packet_length/padding — их добавляет метод).
Methods
__construct()
Привязывает wire к уже открытому TCP stream.
public
__construct(resource $stream) : mixed
Parameters
- $stream : resource
-
Поток после TCP connect (binary-safe)
close()
Закрывает TCP stream и обнуляет ссылку (повторный вызов безопасен).
public
close() : void
enableEncryption()
Включает шифрование и MAC после обмена NEWKEYS.
public
enableEncryption(string $clientToServerKey, string $serverToClientKey, string $clientToServerIv, string $serverToClientIv, string $clientToServerMacKey, string $serverToClientMacKey) : void
Parameters
- $clientToServerKey : string
-
Ключ AES client→server (16 байт)
- $serverToClientKey : string
-
Ключ AES server→client (16 байт)
- $clientToServerIv : string
-
IV/counter client→server (16 байт)
- $serverToClientIv : string
-
IV/counter server→client (16 байт)
- $clientToServerMacKey : string
-
Ключ HMAC client→server (32 байта)
- $serverToClientMacKey : string
-
Ключ HMAC server→client (32 байта)
receive()
Читает следующий SSH-пакет и возвращает payload без padding.
public
receive() : string
Tags
Return values
string —Payload начиная с message type; '' не ожидается при успехе
send()
Отправляет SSH payload (без packet_length/padding — их добавляет метод).
public
send(string $payload) : void
Parameters
- $payload : string
-
Содержимое пакета начиная с message type byte