ssh2://
ssh2:// — Secure Shell 2
说明
ssh2.shell:// ssh2.exec:// ssh2.tunnel:// ssh2.sftp:// ssh2.scp://PHP 4.3.0 and up (PECL)
Note: 该封装器默认没有激活
为了使用 ssh2.*:// 封装协议,你必须安装来自 » PECL 的 » SSH2 扩展。
除了支持传统的 URI 登录信息,ssh2 封装协议也支持通过 URL 的主机(host)部分来复用打开连接。
可选项
◾ssh2.shell://user:pass@example.com:22/xterm
◾ssh2.exec://user:pass@example.com:22/usr/local/bin/somecmd
◾ssh2.tunnel://user:pass@example.com:22/192.168.0.1:14
◾ssh2.sftp://user:pass@example.com:22/path/to/filename
可选项
封装协议概要
属性
ssh2.shell
ssh2.exec
ssh2.tunnel
ssh2.sftp
ssh2.scp
受 allow_url_fopen 影响 Yes Yes Yes Yes Yes
允许读取 Yes Yes Yes Yes Yes
允许写入 Yes Yes Yes Yes No
允许追加 No No No Yes(当服务器支持的时候) No
允许同时读和写 Yes Yes Yes Yes No
支持 stat() No No No Yes No
支持 unlink() No No No Yes No
支持 rename() No No No Yes No
支持 mkdir() No No No Yes No
支持 rmdir() No No No Yes No
上下文选项(Context)
名称
用法
默认
session 重复使用预连接的 ssh2 资源
sftp 重复使用预先分配的 sftp 资源
methods 密钥交换(key exchange)、主机密钥(hostkey)、cipher、压缩和 MAC 方法
callbacks
username 以该用户名连接
password 使用的密码来进行密码验证
pubkey_file 用于验证的公钥(public key)文件
privkey_file 用于验证的私钥(private key)文件
env 需要设置的环境变量的关联数组
term 在分配一个 pty 时请求的终端类型
term_width 在分配一个 pty 时请求的终端宽度
term_height 在分配一个 pty 时请求的终端宽度高度
term_units term_width 和 term_height 的单位 SSH2_TERM_UNIT_CHARS
范例
Example #1 从一个活动连接中打开字节流
<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
'/home/username/.ssh/id_rsa', 'secret');
$stream = fopen("ssh2.tunnel://$session/remote.example.com:1234", 'r');
?>
发表评论 取消回复