シーン解析。
2.コード例は、
1.安装相关支持包 PIP3インストールpycryptoの pip3.6インストールparamiko 2远程执行命令示例代码。 #!は/ usr / binに/のenv python36 インポート処理マルチプロセッシングから の輸入paramikoの インポートsysを ユーザー名= 'ルート' パスワード= 'Pする@ ssw0rd' ポート= 22 TimeOutの= 60 :DEF RUNCMD(IP、CMD) S = paramiko.SSHClient() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) してみてください: s.connect(ホスト名= IP、ポート=ポート、ユーザ名=ユーザ名、パスワード=パスワード、タイムアウト= TimeOutの) 標準入力、標準出力、標準エラー出力= s.exec_command(CMD) の結果を= stdout.read() 印刷(IP、結果) を除きます: 印刷( "存在されていません")+ IP DEF ipProcessは(): 試す: CMD = sys.argvの[1] iについての範囲内(4,16): IP = '172.21.38%S' %のI P =プロセス(目標= RUNCMD、引数の=(IPをCMD)) p.start() はIndexErrorを除き: 印刷( "コマンド入力をしてください") __name__ == '__main__'の場合: ipProcess()
3.インプリメンテーションの結果。
python3.6のbbc_init.pyの稼働時間
4.パッケージのリモートコマンドの実行やファイルのアップロード。
#!は/ usr / binに/パイソンのenv # - * -コーディング:UTF-8 - * - インポートparamikoの クラスSSHConnection(オブジェクト): DEF __init __(自己、ホスト= '192.168.12.68'、ポート= 22であり、ユーザ名=「locojoy 'PWD =' 123321QQ「):! self.host =ホスト self.port =ポート self.username =ユーザー名は PWD = self.pwd 自己.__ K =なし DEF RUN(セルフ): self.connect()リモートサーバ#に接続されています self.upload下( 'db.py'、 '/ tmpに/ 1.py')# リモートサーバーのファイルアップロードを/ tmp /ディレクトリにローカルdb.pyとは1.py改名さ self.cmd(「DFを「)#dfコマンド実行 self.close()#は接続を閉じる (セルフ)を接続DEF: 交通paramiko.Transport =((self.host、self.port)) transport.connect(ユーザ名= self.username、パスワード= self.pwd) 自己.__輸送=輸送 DEF近い(自己): 自己.__ transport.close() DEF(自己、LOCAL_PATH、TARGET_PATH)アップロード: SFTP = paramiko.SFTPClient.from_transport(自己.__輸送) sftp.put(LOCAL_PATH、TARGET_PATH) DEF CMD(自己、コマンド) : SSH = paramiko.SSHClient() ssh._transport =自己.__輸送 #执行命令 STDIN、STDOUT、標準エラー= ssh.exec_command(コマンド) #获取命令结果 結果= stdout.read() プリント(結果) リターン結果 OBJ = SSHConnection () obj.run()