ホームページ  >  記事  >  バックエンド開発  >  php ssh2拡張操作クラス

php ssh2拡張操作クラス

WBOY
WBOYオリジナル
2016-06-20 12:34:371203ブラウズ

PHP の ssh2 拡張機能の Du Niang を見つけることができます

<?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);


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。