php通過SSH連線伺服器並遠端儲存檔案

2021-07-22 01:45:26 字數 1772 閱讀 9529

公司開發了乙個很大的專案,叫我實現乙個基於nginx伺服器,通過ssh協議連線到其他伺服器上傳一些檔案,當時我就蒙了!!

下面這個類是:php通過ssh連線伺服器並遠端儲存檔案,所用到的模組是ssh2,如果你的伺服器不是sftp協議的話,請繞路!!

<?php 

class ssh

if(ssh2_auth_password($this->link, $username, $password))else

return true;

}else

}/**

* 上傳檔案

* @param string $remote 遠端存放位址

* @param string $filename 需要儲存的名字,不包含字尾

* @param string $tagname 標籤名稱

*/public function upload($remote, $filename=null, $tagname='')

}else

$extension = pathinfo($_files[$tagname]['name'], pathinfo_extension);//字尾

} $remote = trim($remote,'/').'/';

$this->mkdir($this->remote_dir_ext.$remote); // 建立目錄

if(!empty($filename))else

$dir_path = $this->remote_dir_ext.$remote.$file.'.'.$extension;

if(ssh2_scp_send($this->link, $local, $dir_path, $this->mode))else

}/**

* 建立資料夾

* @param string $dir_path 遠端目錄

* @return bool

*/public function mkdir($dir_path)

/*** 儲存檔案

* @param string $remote 遠端存放位址

* @param string $filename 需要儲存的名字,包含字尾

* @param text $text 檔案內容

*/public function put_content($remote,$filename,$text)

/*** 獲取錯誤資訊

*/public function get_error()

}?>

開始例項化類:

$remoteserver = array(

'host' => '',//伺服器ip位址

'username' => '',//帳戶

'password' => '',//密碼

'port' => '22',//埠

);$ssh = new ssh($remoteserver);//例項化物件

$ssh->remote_dir_ext = '/server/html/';//根目錄

Python通過ssh連線伺服器並執行命令

本文出自天外歸雲的 指令碼示例如下 coding utf 8 import time,paramiko,re,stringio defexec shell command command 傳入的要執行的shell命令 f stringio.stringio header match s.ssh.se...

SSH詳解 通過跳板機連線伺服器

1 強制使用ssh協議版本1 2 強制使用ssh協議版本2 4 強制使用ipv4位址 6 強制使用ipv6位址 a 開啟認證 連線 功能 a 關閉認證 連線 功能 b 使用本機指定位址作為對應連線的源ip位址 c 請求壓縮所有資料 f 指定ssh指令的配置檔案 g 允許遠端主機連線主機的 埠 i 指...

python通過ssh連線伺服器,執行命令

import paramiko class linuxorder def init self,ip,port,username,password,timeout param ip 伺服器ip param port ssh 連線的埠 param username 伺服器使用者名稱 param pass...