prsw/ssh-client
Composer 安装命令:
composer require prsw/ssh-client
包简介
Async SSH client for PHP using amphp v3 fibers. Supports password and public key auth, command execution with streaming output, and interactive shell.
README 文档
README
Async SSH client for PHP, built on amphp v3 fibers.
No libssh2 dependency. Pure PHP — uses ext-openssl, ext-sodium, and ext-gmp for crypto.
Install
composer require prsw/ssh-client
Quick Start
Execute a command
\Amp\async(function (): void { $client = \PRSW\Ssh\Client\SshClient::connect( 'host:22', new \PRSW\Ssh\Client\Authentication\PasswordAuthentication('user', 'password'), ); $exec = $client->exec('ls -la'); \Amp\ByteStream\pipe($exec->getStdout(), \Amp\ByteStream\getStdout()); $exitCode = $exec->wait(); })->await();
Interactive shell
\Amp\async(function (): void { $client = \PRSW\Ssh\Client\SshClient::connect( 'host:22', new \PRSW\Ssh\Client\Authentication\PasswordAuthentication('user', 'password'), ); $shell = $client->shell(); \Amp\ByteStream\pipe(\Amp\ByteStream\getStdin(), $shell->getStdin()); \Amp\ByteStream\pipe($shell->getStdout(), \Amp\ByteStream\getStdout()); \Amp\ByteStream\pipe($shell->getStderr(), \Amp\ByteStream\getStderr()); $shell->wait(); })->await();
Public key auth
$auth = new \PRSW\Ssh\Client\Authentication\PublicKeyAuthentication( 'user', privateKey: '/home/user/.ssh/id_ed25519', ); \Amp\async(function () use ($auth): void { $client = \PRSW\Ssh\Client\SshClient::connect('host:22', $auth); $exec = $client->exec('whoami'); \Amp\ByteStream\pipe($exec->getStdout(), \Amp\ByteStream\getStdout()); $exec->wait(); })->await();
Requirements
- PHP 8.4+
- ext-openssl, ext-sodium, ext-gmp, ext-hash
License
MIT
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-09