前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Python3中使用ssh

在Python3中使用ssh

作者头像
py3study
发布2020-01-06 11:49:00
2.2K0
发布2020-01-06 11:49:00
举报
文章被收录于专栏:python3python3

  在python3中使用密钥文件方式的ssh。

代码语言:javascript
复制
#encoding: utf-8
#author: walker
#date: 2017-03-29
#summary: 在python代码中使用ssh
#Python sys.version 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)]

import paramiko 

class SSHUser(object):
	def __init__(self, host, port, usr, pwd, pkeyFile, pkeyPwd='walker'):		
		self.client = paramiko.SSHClient()
		key = paramiko.RSAKey.from_private_key_file(pkeyFile, password=pkeyPwd)
		self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #通过公共方式进行认证 (不需要在known_hosts 文件中存在)
		self.client.connect(host, port, username=usr, password=pwd, pkey=key) 		
	
	def exec_cmd(self, cmd):
		return self.client.exec_command(cmd)
	
	def close(self):
		self.client.close()
		
if __name__ == '__main__':
	ssh = SSHUser(host='192.168.2.3', 
					port=22, 
					usr='walker', 
					pwd='walker', 
					pkeyFile=r'D:\key\id_rsa', #密钥文件
					pkeyPwd='walker')
	stdin, stdout, stderr=ssh.exec_cmd('hostname')  
	print(stdout.read().decode('utf-8'))
	stdin, stdout, stderr=ssh.exec_cmd('ls')  
	print(stdout.read().decode('utf-8'))  
	ssh.close()	

相关阅读:

1、pypi:paramiko

2、paramiko文档

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档