(1)首先安装paramiko库
pip install paramiko
(2)封装了以下类,可以直接拿来使用
import paramikoclass SSHClient(object): def __init__(self,host,username,password,port=22): self.__host=host self.__username=username self.__password=password self.__port=port self.__ssh=None self.connect() def __del__(self): self.close() def connect(self): self.__ssh = paramiko.SSHClient() self.__ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) self.__ssh.connect(hostname=self.__host,port=self.__port,username=self.__username,password=self.__password) def exec(self,cmd): print(f"begin to run remote cmd: {cmd}") stdin, stdout, stderr = self.__ssh.exec_command(cmd,timeout=1800) returncode = stdout.channel.recv_exit_status() output=stdout.read().decode('utf-8') return output def close(self): self.__ssh.close()
(3)比如准备一个ip地址为192.168.1.12的linux虚拟机,然后直接按照如下方法使用上面封装的类即可实现远程执行linux命令
v0.dev
Vercel推出的AI生成式UI工具,通过文本描述生成UI组件代码
261 查看详情
ssh=SSHClient(host="192.168.1.12",username="root",password="xxxxxx")output=ssh.exec("ifconfig")print(output)
(4)执行结果如下
begin to run remote cmd: ifconfigens33: flags=4163 mtu 1500 inet 192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 240e:3a1:da7:6590:b39f:e15:6b3d:7e7 prefixlen 64 scopeid 0x0 inet6 fe80::4a67:131d:9133:acdf prefixlen 64 scopeid 0x20 ether 00:0c:29:58:d8:4c txqueuelen 1000 (Ethernet) RX packets 195340 bytes 148862388 (141.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 163425 bytes 20837281 (19.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 32 bytes 2592 (2.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 32 bytes 2592 (2.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099 mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:e8:3f:5c txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
以上就是Python怎么通过paramiko库实现远程执行linux命令的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/746677.html
微信扫一扫
支付宝扫一扫