Heim  >  Artikel  >  Backend-Entwicklung  >  php ssh2扩展操作类

php ssh2扩展操作类

WBOY
WBOYOriginal
2016-06-20 12:34:371203Durchsuche

php 的ssh2扩展可以找度娘

<?phpclass Ssh{    protected $host;    protected $user;    protected $password;    protected $connection;    protected $authMethods;    protected $data;    public function __construct($host, $user, $password)    {        $this->host = $host;        $this->user = $user;        $this->password = $password;        $this->connection = ssh2_connect ( $this->host, 22 );        if (! $this->connection)            die ( 'connection to ' . $host . ':22 failed' );                $this->auth_methods = ssh2_auth_none ( $this->connection, $this->user );    }        /**     * 执行shell命令     * @return code 101:认证失败      *                 102:通过password方式登录远程服务器失败     *                 103:shell命令执行失败     *                 200:操作成功     */    public function execShell($shell)    {        if (in_array ( 'password', $this->auth_methods ))        {            if (ssh2_auth_password ( $this->connection, $this->user, $this->password ))            {                $stream = ssh2_exec ( $this->connection, $shell ); // 执行php                stream_set_blocking ( $stream, true ); // 获取执行pwd后的内容                                if ($stream === FALSE)                {                    $this->data ['msg'] = 'shell命令执行失败';                }                else                {                    $this->data ['code'] = 200;                    $this->data ['msg'] = stream_get_contents ( $stream );                }            }            else            {                $this->data ['code'] = 102;                $this->data ['msg'] = '通过password方式登录远程服务器失败';            }        }        else        {            $this->data ['code'] = 101;            $this->data ['msg'] = '认证失败';        }                return $this->data;    }}$host='';$user='';$passwd='';$sshObj = new Ssh($host, $user, $passwd);$rs = $sshObj->execShell('pwd');var_dump($rs);


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn