php 利用ssh执行远程或本地liunx服务器命令
2015-01-08 13:58
465 查看
/** * 利用ssh执行 远程或本地liunx服务器命令 * 虽然可以用 shee_exec来执行本地机命令 但却无法选择用哪个用户来执行 此函数可解决此类问题 * $host ssh 主机名 可以为ip 或 域名 * $port ssh 端口 * $ssh_username ssh 登录用户名 * $ssh_password ssh 登录密码 * $command 要执行的liunx命令 * 反回值行结果和错误信息 */ function ssh_exec($host, $port = 22, $ssh_username, $ssh_password, $command) { $con = ssh2_connect($host, $port); $auth_methods = ssh2_auth_none($con, $ssh_username); if (in_array('password', $auth_methods)) {//是否允许使用密码登陆 $auth_methods = ssh2_auth_password($con, $ssh_username, $ssh_password); } $stdout_stream = ssh2_exec($con, $command); $err_stream = ssh2_fetch_stream($stdout_stream, SSH2_STREAM_STDERR); stream_set_blocking($stdout_stream, true); //阻塞执行 stream_set_blocking($err_stream, true); $result_stdout = stream_get_contents($stdout_stream); $result_error = stream_get_contents($err_stream); fclose($stdout_stream); fclose($err_stream); return array('result' => $result_stdout, 'error' => $result_error); }
相关文章推荐
- 远程采集服务器指标信息(一) 远程通过SSH执行命令
- SSH 在本地执行远程机器上的命令
- SSH 在本地执行远程机器上的命令
- python利用paramiko连接远程服务器执行命令
- ssh执行远程服务器脚本 提示php: command not found
- 利用sshpass和ssh编写脚本远程执行命令
- 利用process.start()启动WinRAR.exe执行压缩命令在本地运行正常,放到服务器时WinRAR.exe也正常启动了,但没有成功完成压缩指令
- 利用shell脚本执行ssh远程另一台主机执行命令并返回命令的结果集
- shell小白 想玩自动化部署,无密码ssh 登录远程服务器,执行scp命令传送war包 并重启tomcat。
- 利用xcopy命令实现本地文件复制到远程服务器的方法
- php利用ssh操作远程服务器
- 使用ssh远程执行命令批量导出数据库到本地(转)
- python利用paramiko连接远程服务器执行命令
- ssh执行远程服务器脚本 提示php: command not found
- 自动化运维,远程交互从服务器A上ssh到服务器B上,然后执行服务器B上的命令。
- 使用ssh远程执行命令批量导出数据库到本地
- 使用ssh远程执行命令批量导出数据库到本地
- 使用expect工具ssh登录远程服务器并执行命令操作
- SSH 在本地执行远程机器上的命令
- erlang 利用 ssh 远程执行 shell 命令