python远程操作服务器

python远程控制

标签(空格分隔): 远程Linux



python远程控制:方案:

  • Paramiko
    Pexpect(主要Linux机器)

安装使用:pip install paramiko

  • 注意在安装的时候,会有比较慢因为:pip在美国的,而且有一些加密文件,所有会比较慢,所以我们可以设置一个超时时间;
    2.保证有一台Linux主机;
    3.保证ssh服务开启:用putty、或者:xshell连接试试看;
import paramiko
#创建SSHClient 实例对象
ssh=paramiko.SSHClient()
#调用方法,表示没有存储远程机器的公钥,允许访问
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#连接远程机器,地址,端口,用户名密码
ssh.connect('192.168.199.236',22,'root','111111')
#创建目录;
cmd = 'mkdir jcy2'
ssh.exec_command(cmd)
#如果命令行跨行
cmd='''echo '123
45678
90abc'
 >myfile'''
ssh.exec_command(cmd)
#获取命令行的执行结果
cmd ='cat myfile'
stdin,stdout,stderr =ssh.exec_command(cmd)
print(stdout.read()+stderr.read())
ssh.close()
  • 注意点:
    exec_command每次执行都会打开一个新的channel,执行;
    2.新的环境,不再上次执行的环境里面
    3.所以我们不能多次调用,达到多次执行的目的

例如:如下代码:

ssh.exec_command('pwd')
ssh.exec_command('mkdir jcy3')
ssh.exec_command('cd jcy3')
stdin,stdout,stderr =ssh.exec_command('pwd')

print(stdout.read())
ssh.close()

linux 命令:free查看内存信息;
我们以后可以在代码里面每隔5分钟,看一下内存的情况;

  • 如下是传输文件到远程:
import paramiko
#创建SSHClient 实例对象
ssh=paramiko.SSHClient()
#调用方法,表示没有存储远程机器的公钥,允许访问
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#连接远程机器,地址,端口,用户名密码
ssh.connect('192.168.199.236',22,'root','111111')
sftp=ssh.open_sftp()
sftp.put('ftp1.py','home/stt/ftp1.py')
sftp.close()

原文地址:https://www.cnblogs.com/surewing/p/9432212.html

时间: 2024-08-30 11:11:07

python远程操作服务器的相关文章

使用 Python 远程登陆服务器的最佳实践

在使用 Python 写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果. 在 shell 环境中,我们是这样子做的. $ sshpass -p ${passwd} ssh -p ${port} -l ${user} -o StrictHostKeyChecking=no xx.xx.xx.xx "ls -l" 然后你会发现,你的输出有很多你并不需要,但是又不去不掉的一些信息(也许有方法,请留言交流),类似这样 host: xx.xx.xx.xx,

用Python远程登陆服务器的最佳实战,面试必学

在使用 Python 写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果. 在 shell 环境中,我们是这样子做的. $ sshpass -p ${passwd} ssh -p ${port} -l ${user} -o StrictHostKeyChecking=no xx.xx.xx.xx "ls -l" 复制代码 注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果你缺新项目练习或者没有python精讲教程,可以

如何使用python远程操作linux

在云服务测试中,往往需要我们进入云服务内容进行相关内容的测试.这测试可以使用平台自身的noVNC.外部辅助xshell等工具连接到云服务内部进行测试.但是在如此反复的测试操作中,就需要用到自动化测试方法去解决这方面的需求.在python中我们可以通过第三方库paramiko,对linux的云服务器进行操作.如下命令先行安装 pip install paramiko paramiko包含两个核心组件:SSHClient和SFTPClient. SSHClient的作用类似于Linux的ssh命令,

远程操作服务器和本地处理

1. 自动登陆 #ssh-keygen #cat id_dsa.pub >> ~/.ssh/authorized_keys 2. 设置环境变量 export PATH=/usr/jdk/bin:\$PATH:/usr/jdk/jre/bin 3.  运行脚本 bash new.sh eg:ssh -q -o StrictHostKeychecking=no -o LogLevel=quiet [email protected] "export PATH=/usr/jdk/bin:\$

python 远程操作linux 增删目录以及文件

import paramiko import os import logging import json import unittest from stat import S_ISDIR,S_ISREG logging.basicConfig(level = logging.ERROR,format = '%(asctime)s - %(levelname)s -->%(funcName)s at line %(lineno)d: \n %(message)s') log= logging.ge

使用 Python ssh 远程登陆服务器的最佳方案

首发自公.众.号:Python编程时光 在使用 Python 写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果. 在 shell 环境中,我们是这样子做的. $ sshpass -p ${passwd} ssh -p ${port} -l ${user} -o StrictHostKeyChecking=no xx.xx.xx.xx "ls -l" 然后你会发现,你的输出有很多你并不需要,但是又不去不掉的一些信息(也许有方法,请留言交流),类似这样

python多主机远程操作

#!/usr/bin/python #-*-coding:utf-8-*- ''' create on 2014.12.13 @author: feifei ''' import os import sys import paramiko ips = [] def read_ip(ipfile):     try:         if os.path.isfile(ipfile):             allip = open(ipfile, 'r')             for ip

操作服务器及MySQL数据库可以使其远程链接

转自原文操作服务器及MySQL数据库可以使其远程链接 一般情况分三个地方准备,MySQL数据库,防火墙,还有你的服务器主机的准备 操作系统为centos6.5.其他系统大致差不多. 1:在服务器中安装mysql,具体安装过程,请自行查询.安装好后,输入mysql -u root -p,再输入密码(输入密码时,密码不会显示)就会进入到MySQL如下界面. 2:进入MySQL后,show databases; use mysql; select User,Host,Password from use

java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息

1.java使用Jsch实现远程操作linux服务器进行文件上传.下载,删除和显示目录信息. 参考链接:https://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html https://www.cnblogs.com/longyg/archive/2012/06/25/2561332.html https://www.cnblogs.com/qdwyg2013/p/5650764.html#top 引入jar包的maven依赖如下所示: