python ssh远程服务器完成本地推送文件,拉取文件

import paramiko

#创建ssh对象
ssh = paramiko.SSHClient()
#允许连接不在know_hosts文件的主机上
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
filename = "test.sh"
#本地文件路径
localpath = "/home//PycharmProjects/automatic/" + filename
#服务器的文件路径
remotepath = "/root/" + filename        
#可设置多台服务器,逗号间隔即可,尽量服务器的密码保持一致
server = "192.168.1.10"   
words = server.split(",")
for word in words:
  # 连接服务器,密钥连接
  pkey = paramiko.RSAKey.from_private_key_file('/home/chengjiu_su09/.ssh/id_rsa')
  # 建立连接
  ssh.connect(word,
              port=22,
              username='root',
              pkey=pkey)
  sftp = ssh.open_sftp()
  sftp.put(localpath, remotepath, callback = None)       #从本地推到服务器
  #sftp.get(remotepath, localpath, callback = None)      #从服务器拉到本地
  stdin, stdout, stderr = ssh.exec_command('ls /root | grep test.sh')   #ssh远程服务器执行shell命令,确认文件上传成功.
  result = stdout.read()
  print(result.decode('utf-8'))
  #关闭连接
  ssh.close()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。