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}")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义