SSH(Secure Shell)是一种网络协议,可以通过SSH建立安全的远程连接,并在远程服务器上运行命令和传输文件。PHP可以通过SSH2扩展来实现SSH连接。
连接SSH服务器
使用SSH2类建立连接,传入配置信息:
$ssh = new SSH2('example.com');
$ssh->auth('username', 'password');
$sftp = $ssh->sftp();
这样就得到了一个SSH连接实例。
执行远程命令
可以在SSH连接上执行命令:
$output = $ssh->exec('ls -l');
exec()执行命令,将输出赋值给$output。
也可以使用ssh2_exec()直接执行命令:
$stream = ssh2_exec($ssh, 'pwd');
传输文件
使用sftp上传下载文件:
// 上传本地文件
$sftp->put('test.txt', 'remote_path');
// 下载远程文件
$sftp->get('remote_path', 'local_path');
关闭连接
使用close()方法关闭SSH连接:
$ssh->close();
SSH2扩展提供了在PHP中实现SSH通信的能力。利用它我们可以连接远程服务器,自动化管理任务。
本文演示了SSH连接的基本过程,执行命令和传输文件的方法,可以作为实现PHP SSH连接的参考。