执行远程主机命令.py 1.1 KB

1234567891011121314151617181920212223242526272829
  1. # -*- coding: UTF-8 -*-
  2. import paramiko
  3. import re
  4. from time import sleep
  5. key_file = paramiko.RSAKey.from_private_key_file("/root/.ssh/id_rsa")
  6. def ssh():
  7. ssh = paramiko.SSHClient()
  8. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #指定当对方主机没有本机公钥的情况时应该怎么办,AutoAddPolicy表示自动在对方主机保存下本机的秘钥
  9. ssh.connect(hostname='a.xdc.ink',
  10. port=22,
  11. username='root',
  12. # pkey=key_file, # 使用密钥方式登陆
  13. password='cstorfs') #SSH端口默认22,可改
  14. stdin,stdout,stderr = ssh.exec_command("df -P") #这三个得到的都是类文件对象
  15. outmsg,errmsg = stdout.read(),stderr.read() #读一次之后,stdout和stderr里就没有内容了,所以一定要用变量把它们带的信息给保存下来,否则read一次之后就没有了
  16. #outmsg = str(outmsg)
  17. #print(outmsg.replace("\\n","\\r\\n"))
  18. print(outmsg.decode())
  19. print(errmsg)
  20. if errmsg == "":
  21. print(outmsg)
  22. ssh.close()
  23. if __name__ == '__main__':
  24. ssh()