paramiko 秘钥方式连接远程主机/n

paramiko 是一个可以连接远程主机及上传下载文件的一个第三方模块,他基于 ssh2 协议

官网地址:http://www.paramiko.org/

安装: pip install paramiko

步骤:

  1. 建立一个 ssh 连接
  2. 连接远程主机
  3. 远程执行 shell 脚本,获取输入输出流
  4. 关闭连接

代码


 -*- coding: utf-8 -*-  
import paramiko  
import os

host='你的主机ip'

port='主机端口'

pkey='D:/id_rsa'  #本地密钥文件路径[此文件服务器上~/.ssh/id_rsa可下载到本地]  

key=paramiko.RSAKey.from_private_key_file(pkey) 

创建并连接远程主机
ssh = paramiko.SSHClient()  

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #通过公共方式进行认证 (不需要在known_hosts 文件中存在)  
#ssh.load_system_host_keys() #如通过known_hosts 方式进行认证可以用这个,如果known_hosts 文件未定义还需要定义 known_hosts  

ssh.connect(host,port,username='web',pkey=key) 

远程执行shell脚本获取输入输出流
stdin,stdout,stderr=ssh.exec_command('cd /;ls')  

print stdout.read()
关闭连接
ssh.close()

获取秘钥方式

1.连接到远程主机
2.安装 lrzsz
3.下载秘钥到本地

Yum install lrzsz -y

Sz 发送 linux 文件到本地

Rz 上传本地文件到 linux

使用语法:sz ~/.ssh/id_rsa

选择本地文件夹存储需要下载的文件


↙↙↙阅读原文可查看相关链接,并与作者交流