公司開發了乙個很大的專案,叫我實現乙個基於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...