PHP遠端控制cmd,php實現遠端操作

2021-10-25 20:40:12 字數 1642 閱讀 8171

使用 php 進行遠端操作的時候,需要安裝ssh2模組。關於在ssh2模組中用到過的幾個函式,做乙個簡單的記錄。

常用方法

1、連線

ssh2_connect ($host, $port = null, $methods = nullarray , $callbacks = nullarray )

連線到乙個 ssh 伺服器

2、認證

ssh2_auth_password ($session, $username, $password)

在 ssh  上使用普通密碼進行認證

或者ssh2_auth_pubkey_file ($session, $username, $pubkeyfile, $privkeyfile, $passphrase = null)

通過公鑰進行認證

3、檔案傳送

ssh2_scp_send ( resource $session , string $local_file , string $remote_file [, int $create_mode = 0644 ] )

通過 scp 協議傳送檔案

ssh2_scp_recv ( resource $session , string $remote_file , string $local_file )

通過 scp 協議獲得檔案

4、執行命令

ssh2_exec ($session, $command, $pty = null, $env = nullarray , $width = null, $height = null, $width_height_type = null)

在遠端機器上執行命令

5、其他

ssh2_fetch_stream ($channel, $streamid) {}

獲取拓展的資料流。常用的$streamid 定義有:

define ('ssh2_stream_stdio', 0);

define ('ssh2_stream_stderr', 1);

stream_set_blocking ( resource $stream , bool $mode )

設定流為 阻塞/非阻塞 狀態。當 $mode 為 true 時為阻塞; $mode 為 false 時,則為非阻塞狀態。

簡單應用

//建立連線

$connection = ssh2_connect($host, (int)$port);

if (!$connection) else{

$stream = ssh2_exec($connection, "stat /tmp/targetfile 2>&1");

$errorstream = ssh2_fetch_stream($stream, ssh2_stream_stderr);

// enable blocking for both streams

stream_set_blocking($errorstream, true);

stream_set_blocking($stream, true);

echo stream_get_contents($stream);

// close the streams

fclose($errorstream);

fclose($stream);

Python UDP廣播實現遠端控制

應用場景 樹莓派連線在乙個動態ip的環境,我們需要知道ip位址進行ssh連線或者sftp檔案上傳 遠端執行命令,關機 殺程序 等 服務端 broadcast server.py coding utf 8 import socket import pickle import os import sys...

python實現遠端控制電腦

python遠端控制電腦的具體 供大家參考,具體內容如下 python擁有大量的第三方庫,且語法簡單。今天老楊就用python實現遠端控制電www.cppcns.com腦 所謂,謀定而後動,在實現任何乙個需求之前,我們需要先分析,捋清楚乙個思路,遠端控制電腦,無非就是接收遠端的命令和根據命令去執行對...

TeamViewer 遠端控制

因為公司的電腦有加密系統,因此不好傳檔案,而且傳檔案也是亂碼的,因此想要在家裡也能工作,只能遠端登入公司的電腦進行工作了!因此下了個teamviewer。teamviewer是乙個遠端控制軟體,它最大的優點就是不需要控制和接受控制的任何一方擁有外網ip。而且還能進行傳檔案,還有會議室等強大的功能!3...