python ssh clinet
业务需要, 封装了一个ssh 客户端;
import paramiko
host = "192.168.11.1"
port = 22
user = "1"
pw = "1"
class SshClient:
    def __init__(self) -> None:
        self.ssh_client = paramiko.SSHClient()
        self.ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        self.ssh_client.connect(hostname=host, port=port, username=user, password=pw)
        self.ftp_client = self.ssh_client.open_sftp()
    def ssh_exec(self, cmd):
        _, stdout, stderr = self.ssh_client.exec_command(cmd)
        print(stdout.read())
        print(stderr.read())
    def get_ssh_exec(self, cmd):
        _, stdout, _ = self.ssh_client.exec_command(cmd)
        out_data = stdout.read().strip().decode("utf8")
        return out_data
    def ftp_get(self, remote_file, local_file):
        self.ftp_client.get(remote_file, local_file)
    def ftp_put(self, local_file, remote_file):
        self.ftp_client.put(local_file, remote_file)
    def __del__(self):
        self.ssh_client.close()
        self.ftp_client.close()
# 调用展示某目录下的文件
cam_files = SshClient().get_ssh_exec(f"ls /root/")
# 下载某文件
vf = "/root/a.txt"
filename = "a.new.txt"
SshClient().ftp_get(vf, f"/tmp/{filename}")
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号