`
小麦麦子
  • 浏览: 30659 次
文章分类
社区版块
存档分类
最新评论

使用paramiko如何连接服务器?

 
阅读更多

    本文和大家分享的是python开发中使用paramiko连接服务器的方法和步骤,希望通过本文的,对大家学习和使用paramiko有所帮助。

  ssh连接步骤

  1.ssh server建立server public key,对应文件/etc/ssh/ssh_host_*文件

  首先是有一个ssh的服务器,它建立了一些公匙,然后放在本地的文件中。

  2.ssh client发出连接请求

  这个sshclient它发出连接请求

  3.ssh server发送server public keyssh clientclient如何反应?]

  服务器把公匙发给客户端。

  4.ssh client比较server public key,同时计算自己的client pubic/private key

  客户端拿到公匙之后进行比较,同是做出判断,接收或者是拒绝,还有保存,同是时计算出自己的公匙还有私匙。

  5.ssh client发送client public keyssh server

  然后把这个公匙发给服务器。

  6.开始连接,双向加解密

  接着就开始连接双向通讯,这个就是ssh连接的整个过程。

  paraiko connect to remote server

  前提:

  1.remote server open ssh service.

  2.知道其username,password

  显示你要连接的机器,它已经开启了ssh的这样的服务, 我们今天要连接的这台机子就是我另外一台局域网内的,ubuntu的机器,它已经开启了,默认端口为22ssh的服务,而且要知道它的用户名和密码。

  方法:

  1.新建paramiko.SSHClient

  Paramiko连接远程服务器,它的过程是这样的,首先是新建一个SSHClient,这个SSHClient是什么呢,它是Paramiko提供给我们的一个api中的类,因为Paramiko它是一个基于ssh协议的一个封装,的类库它提供了一些建议好用的api给我们使用。让我们来完成各种各样的操作。这个SSHClient就是它提供的一个要访问远程,和文件传输的一个最基本的接口。

  2.设置hot key机制

  另外一个就是要设置它的hot key,就是之前所提到的,设置公匙的,处理公匙的这样一个机制。Paramiko它提供给我们一个,比较简单的设置的办法。

  3.调用API connect

  最后就是掉它的connect API连接,这样我们就来看一下,如何编码来实现。

  我们打开pycham,新建一个Python项目,引入Paramiko的包。

  import Paramiko

  然后我们使用Paramiko SSHClient这个内建立一个Client对象。

  client = Paramiko. SSHClient ()

  然后就设置它的host_key机制,一般是采用Paramiko的自动天际的机制。

  client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

  第三个就是调用它的connect方法,我们可以看一下,它的connect方法有很多的参数,有ip、端口、用户名、密码、还有一些其它的很多参数。我们在用其中一个比较重要的参数就是timeout就是超时时间,就是建立这个链接的时候我们想让它,如果多久没有直接连接,就返回异常。

  client.connect(hostname=self.host, port=self.port, username=self.usr, password=self.pwd, timeout=self.timeout)

  然后这个connect我们首先,来看下不设置这个host_key会有什么情况。


 

  它会报错,会抛出一个SSHException这个异常,说这个服务器找不到,不在这个known_hosts的这个文件下,所以说这个是必要的。

  client = paramiko.SSHClient()

  client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

  client.connect(hostname=self.host, port=self.port, username=self.usr, password=self.pwd, timeout=self.timeout)

  我们来看一下


 

  就没有报错了。我怎么知道它这个连接是正常的呢。

因为这个connect API它如果,出现连接异常的情况下,它都会抛出一个sshexception这个异常,现在它没有抛异常就说明它是,正常连接。

 

 

原文链接:http://www.maiziedu.com/wiki/frame/query/ 

 

  • 大小: 94.6 KB
  • 大小: 14.5 KB
分享到:
评论

相关推荐

    使用paramiko从服务器端copy文件夹到本地

    paramiko复制文件夹 python3.10 如何开启winrm, 请参考 https://blog.csdn.net/frank_ldw/article/details/142044242

    Python3 SSH远程连接服务器的方法示例

    连接服务器操作: # -*- coding: utf-8 -*- import paramiko # 服务器相关信息,下面输入你个人的用户名、密码、ip等信息 ip = "" port = 22 user = "" password = "" ssh = paramiko.SSHClient

    python 远程连接数据库 需要用的第三方库 paramiko

    使用Paramiko库,首先需要创建一个SSH客户端实例,然后连接到远程服务器。这涉及到设置主机名、端口、用户名和密码(或私钥): ```python import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host...

    python使用paramiko实现ssh的功能详解

    Python中的Paramiko库是一个强大的SSH2协议库,它支持加密和认证等功能,使得开发者能够方便地在Python程序中实现远程服务器的自动化管理。本篇文章将详细介绍如何使用Paramiko实现SSH的功能,包括基于用户名和密码...

    paramiko 包

    1. **SSH 客户端与服务器实现**:Paramiko 提供了完整的 SSHv2 客户端和服务器接口,可以用来连接远程主机,执行命令,传输文件等。 2. **公钥认证**:Paramiko 支持基于 RSA、DSA 和 ECDSA 的公钥私钥对认证方式,...

    ubuntu下paramiko安装

    在Ubuntu操作系统中,Paramiko是一个重要的Python库,用于实现SSHv2协议,提供客户端和服务器端的功能,包括加密、身份验证、数据传输等。在进行远程控制、自动化运维或者网络编程时,Paramiko是一个非常实用的工具...

    python2.7 paramiko安装包

    Paramiko是Python中一个强大的SSH(Secure SHell)协议库,用于实现客户端和服务器之间的安全远程通信。在Python 2.7版本中,有时可能会遇到使用`pip`安装库时出现的问题,比如网络不稳定、镜像问题或者依赖冲突等。...

    paramiko-2.4.1.tar

    下面我们将深入探讨Paramiko的功能、用途以及如何使用它来连接Linux系统并获取监控信息。 Paramiko的主要功能包括: 1. **加密通信**:SSH(Secure Shell)协议是一种标准的网络协议,用于加密网络通信,防止数据...

    Python如何使用paramiko模块连接linux

    以下是如何使用 Paramiko 通过私钥验证连接 Linux 服务器: 1. **生成 SSH 密钥对**:在本地服务器上使用 `ssh-keygen` 命令生成 SSH 密钥对(公钥和私钥)。 2. **复制公钥**:使用 `ssh-copy-id` 命令将本地的...

    paramiko-master.zip

    7. **代理跳转**:如果需要通过一个中间服务器(跳板机)连接到目标服务器,Paramiko 支持 SSH 代理跳转。 8. **事件循环与回调**:Paramiko 可以与各种事件循环库(如 gevent 或 eventlet)集成,实现非阻塞 I/O ...

    python利用paramiko连接远程服务器执行命令的方法

    ### Python 利用 Paramiko ...以上就是使用 Python 和 Paramiko 模块连接远程服务器并执行命令的完整过程。这些基本功能可以满足大多数自动化运维的需求,如远程部署、监控、管理等场景。希望这些内容对您有所帮助!

    paramiko.tar.gz

    5. **事件驱动**:Paramiko使用Python的`select`和`asyncio`模块实现异步操作,使得在处理多个并发连接时更加高效。 6. **可扩展性**:Paramiko提供了丰富的API,开发者可以根据需要编写自定义的认证方法、密钥处理...

    Python使用Paramiko控制linux第三方库.docx

    下面我们将详细探讨如何使用Paramiko进行Linux服务器的控制: 1. **初始化SSH客户端**: 在使用Paramiko之前,首先需要初始化一个SSHClient对象。这通常包括设置主机名、端口、用户名和密码。例如: ```python ...

    python通过paramiko复制远程文件及文件目录到本地

    paramiko是用python写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输以及远程命令执行。 安装paramiko也很简单,我用的...

    paramiko-1.7.5.zip

    Paramiko 是 Python 社区广泛使用的 SSHv2 实现,提供了客户端和服务器端的功能。 在 Paramiko 中,以下是一些核心概念和知识点: 1. **Transport Layer**:这是 SSH 协议的核心部分,负责加密和身份验证。在 ...

    windows_python3.7离线安装paramiko2.7.2全文件

    Paramiko是一个在Python中实现SSHv2协议的库,它提供了客户端和服务器端的功能,用于进行安全的远程通信。在Windows环境下,有时由于网络限制或安全性考虑,我们需要进行离线安装Python库,如Paramiko 2.7.2。本文将...

    python paramiko

    - **连接服务器** ```python import paramiko client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect('hostname', username='username', password='...

    Linux下安装paramiko的相关依赖包-特别全

    8. **paramiko**:核心库,它是我们要安装的主要目标,提供SSHv2协议的客户端和服务器端实现,用于进行远程控制、文件传输等操作。 9. **psycopg2**:psycopg2是PostgreSQL数据库的Python适配器,虽然不是paramiko...

    python使用paramiko实现ssh的功能详解.docx

    Python作为一种广泛使用的编程语言,提供了多种方式进行远程服务器管理,其中`paramiko`模块是实现SSH功能的一个强大工具。通过使用`paramiko`,我们可以轻松地实现远程服务器上的命令执行、文件传输等功能。 #### ...

Global site tag (gtag.js) - Google Analytics