mahonglin123456 发表于 2018-8-13 12:06:52

python脚本之paramiko

  #############################################################安装paramiko
# yum install gcc  #tar -zxvf pycrypto-2.6.1.tar.gz#https://pypi.python.org/pypi/pycrypto
  #cd pycrypto-2.6.1
  #python setup.py install
  # yum install python-devel
  #tar -zxvf paramiko-1.10.1.tar.gz#https://pypi.python.org/pypi/paramiko
  #cd paramiko-1.10.1
  # python setup.py install
  # python demo.py 192.168.1.10#测试
  ##################################################################使用密码登陆
  #!/usr/bin/env python
  #coding=utf-8
  import paramiko
  #远程服务器
  hostname ='192.168.1.10'
  #端口
  port=22
  #用户名
  username='root'
  #密码?
  password = '123456'
  #创建SSH连接日志文件(只保留前一次连接的详细日志,以前的日志会自动被覆盖
  #paramiko.util.log_to_file('paramiko.log')
  s = paramiko.SSHClient()
  #允许连接不在know_hosts文件中的主机
  s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  #建立SSH连接
  s.connect(hostname,port,username,password)
  stdin,stdout,stderr=s.exec_command('top -bn 1')
  #打印标准输出
  print stdout.read()
  s.close()
  #########################################################使用key登陆
  #!/usr/bin/env python
  #coding=utf-8
  import paramiko
  hostname ='192.168.1.11'
  port=22
  username='root'
  key_file='/root/.ssh/id_rsa'
  key=paramiko.RSAKey.from_private_key_file(key_file)
  #paramiko.util.log_to_file('paramiko.log')
  s = paramiko.SSHClient()
  s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  s.load_system_host_keys()
  s.connect(hostname,port,username,pkey=key)
  stdin,stdout,stderr=s.exec_command('df -m')
  print stdout.read()
  print stderr.read()
  s.close()
  ########################################手动输入命令多次执行
  #!/usr/bin/env python
  #coding=utf-8
  import paramiko
  hostname ='192.168.1.11'
  port=22
  username='root'
  key_file='/root/.ssh/id_rsa'
  key=paramiko.RSAKey.from_private_key_file(key_file)
  #paramiko.util.log_to_file('paramiko.log')
  s = paramiko.SSHClient()
  #s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  s.load_system_host_keys()
  s.connect(hostname,port,username,pkey=key)
  while True:
  cmd=raw_input('cmd:')
  if cmd=='quit':break
  stdin,stdout,stderr=s.exec_command(cmd)
  print stdout.read()
  print stderr.read()
  s.close()
页: [1]
查看完整版本: python脚本之paramiko