paramiko 模块远程管理 liunx 服务器

paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。

由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。

一、远程连接服务器

方式1

import  paramiko

#实例化客户端
ssh = paramiko.SSHClient()

#设置默认授信列表
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 设置连接信息
ssh.connect(
    hostname="192.168.10.32",
    port=22,
    username="root",
    password="123456"
)
# 输入远程需要执行的命令
stdin,stdout,stderr = ssh.exec_command("ls")
      #stdin 需要输入的部分
      #stdout 返回输出的部分
      #stderr 错误部分
print (stdout.read())
ssh.close()

方式2

#coding:utf-8

import paramiko
trans = paramiko.Transport(("192.168.10.32",22))
trans.connect(username="root",password="123456")
ssh = paramiko.SSHClient()#实例化一个客户端
ssh._transport = trans #设置客户端使用该通道
shell = ssh.invoke_shell()#实例化一个shell
shell.settimeout(10)#设置超时时间
shell.send("ls\n")
while True:
    recv = shell.recv(9999)
    print (recv)
ssh.close()

二、远程连接服务器创建交互式的shell 终端

trans = paramiko.Transport(("192.168.10.32",22))
trans.connect(username = "root",password = "123456")
#登录前必须实例化一个客户端
ssh = paramiko.SSHClient()
ssh._transport=trans#设置客户端使用该通道
shell = ssh.invoke_shell()#实例化一个shell
shell.settimeout(0.1) #设置超时等待时间
shell.send(raw_input(">>>")+"\n")

while True:
    try:
        recv = shell.recv(99999)
        if recv:
            print (recv)
        else:
            continue
    except:
        command = raw_input(">>>")
        shell.send(command+"\n")
        if command == "exit":
            break
ssh.close()

三 、使用 paramiko 模块上传下载文件

#上传文件

trans = paramiko.Transport(("192.168.10.32",22))
trans.connect(username="root",password="123456")
sftp = paramiko.SFTPClient.from_transport(trans)#实例化一个文件上传下载的客户端
下载文件  将服务器的文件下载到本地
sftp.get("/root/11.py","aa.py") # 服务器路径 ,本地路径
trans.close()

上传文件文件 将本地文件上传到服务器上

sftp.put("404.html","/root/404.html") 本地路径 ,服务器路径
时间: 2024-10-09 01:17:52

paramiko 模块远程管理 liunx 服务器的相关文章

使用OpenSSH远程管理Linux服务器

一.使用OpenSSH远程管理Linux服务器 sshd是OpenSSH的服务器端守护进程,与之对应的Windows下客户端软件有SecureCRT/Xshell/PuTTY等. OpenSSH一般为默认安装在Linux系统中,安装目录为/etc/ssh.对应的服务器配置文件为/etc/ssh/sshd_config,配置文件中各选项的含义如下: 对sshd_config文件配置完毕,重启sshd守护进程,使修改生效(命令为:systemctl restart sshd); 最后一步是设置ssh

Windows 上的 SSH?使用 PowerShell Remoting 远程管理 Windows 服务器

Windows 上的 SSH?使用 PowerShell Remoting 远程管理 Windows 服务器 2018-07-01 Windows 约 2202 字 预计阅读 5 分钟 文章目录 Windows 世界的远程管理 基于 WinRM 的 PowerShell Remoting 配置无密码 的 PowerShell Remoting 体验 在 Linux/Unix 世界里 SSH 是个好东西,SSH 是 Secure Shell 的缩写,用它可以很容易连接到指定的服务器,并执行特定命令

python paramiko模块远程执行多条命令

最近一直在用python的paramiko执行远程命令,发现如果直接写的话在每条命令后加分号执行时会报错,如果不加分号,分一条命令一条命令地执行,起不到作用,如切换路径等,后面在网上找到了相关的方法,只要在exec_command(cmd,get_pty=True)在命令语句后加get_pty=True即可.代码如下: def exec_command(self,cmd): client = paramiko.SSHClient() try: client.set_missing_host_ke

远程管理Windows服务器的五大技巧

本文摘自月光博客,以下是文章原文. 管理一台服务器并不是一件简单容易的事情,除了我昨天提到的<十大网站管理员的服务器工具软件>之外,我们平时还可能会遇到一些莫名其妙的问题和错误,今天,我就介绍一些月光博客在平时管理期间遇到和总结出来的五个Windows 2003服务器管理技巧,希望能对大家有所帮助.特别是租用服务器的朋友,学习一些管理服务器的方法更加方便,现在服务器租用.服务器托管的需求越来越大.比如游戏服务器租用.高防服务器租用. 1.终端协议错误 如果用记事本或其他编辑器在远程终端编辑一些

python Paramiko模块远程推送文件

#!/usr/bin/python import paramiko def push_file(file):     f = open(file,'r')     running = 1     while running:         line = f.readline()         if line != '':             line = line.strip('\n')             list = line.split(' ')             ip 

paramiko模块远程案例

#!/usr/bin/python#coding: utf-8 import paramiko#iphosts=["192.168.10.70","192.168.10.71","192.168.10.72","192.168.10.73","192.168.10.74","192.168.10.75","192.168.10.76","192.168.11

Linux入门(五)linux服务器文件远程管理

 1 使用filezila远程管理linux服务器文件 filezila下载地址:https://filezilla-project.org/ filezila默认只能登录普通用户,如果想要root用户也能登录, 必须修改/etc/ssh/sshd_config,把里面的PermitRootLogin改为yes,然后重启ssh, sudo service ssh restart 2 ubuntu系统配置文件目录:/etc 各组件配置文件位置 2.1apache  /etc/apache2 2.2

paramiko模块-2

如何用paramiko模块模拟登入服务器,并记录操作日志,起到审计的作用? 各个client ---(连接跳转机)--->(跳转机)------>各自的目标服务器. 目前我们公司的跳转机,只有跳转的功能(外网--->内网),没有其他功能. 可以用如下的demo进行日志记录等操作: 脚本登入服务器: #!/usr/bin/env python #-*- coding:utf-8 -*- import paramiko import os import sys import select i

主机远程管理工具之Xshell 5 ——(1)

Xshell 是一个强大的安全终端模拟软件,可以在Windows界面下用来访问远端不同系统下的服务器,从而达到远程控制终端的目的,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议.SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题. 接下来通过Xshell 实现windows (真机)远程管理linux服务器(虚拟机) 运行X