新手区 paramiko 秘钥方式连接远程主机

神奇的小新 · 2016年12月01日 · 最后由 lixueshuang 回复于 2019年08月23日 · 2306 次阅读

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

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

共收到 3 条回复 时间 点赞

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

这个地方 怎么一直提示 无该文件

在不 请赐教

IOError: [Errno 2] No such file or directory: 'C:/id_rsa'

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册