1. 导入第三方模块
1.1 导入os:
import os
1.2 导入sys:
import sys
1.3 导入paramiko
import paramiko
2. 建立SShRemoteHost
2.1 class SshRemoteHost(object):
3. 实现__init__方法
def __init__(self, host, user, pwd, cmd, port=22):
self.host = host
self.port = port
self.user = user
self.pwd = pwd
self.cmd = cmd # cmd hostname; cmd ls -l; cmd data +%F
4. 实现run方法
def run(self):
# cmd hostname 类的反射机制
cmd_str = self.cmd.split()[0] # cmd
if hasattr(self, 'do_' + cmd_str): # 判断是否有do_cmd方法
getattr(self, 'do_' + cmd_str)()
else:
logging.error("目前不支持该操作.....目前支持cmd, put, get")
print("目前不支持该操作.....目前支持cmd, put, get")
5. 实现do_cmd方法
def do_cmd(self):
print("正在执行命令......")
# ssh root@172.25.254.250
# 1. 创建一个ssh对象;
client = paramiko.SSHClient()
# 2. 解决问题:如果之前没有;连接过的ip, 会出现
# Are you sure you want to continue connecting (yes/no)? yes
# 自动选择yes
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try: