paramiko 实现ssh登录和sftp登录
简单ssh登录
import paramiko ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='192.168.80.200',port=22,username='root',password='123')
stdin,stdout,stderr = ssh.exec_command('df;top')
res = stdout.read()+stderr.read()
print(res.decode())
#密钥存放于代码中方式 key_str = '''-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEA1v/Cy/1A6aUvP49THyvfYSYPPw+KAE1RwoyN1EHy2Ul1XZl2
.
.
.
ShbMOCp5tEvMBhVnFGBBniqALVEaUy2j9dG53kBxVyABJh3DdaI=
-----END RSA PRIVATE KEY-----''' private_str = paramiko.RSAKey(file_obj=StringIO(key_str))
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.80.200',22,'root',pkey=private_str)
stdin,stdout,stderr = ssh.exec_command('echo $PATH')
print(stdout.read().decode())
#以下是密钥方式
import paramiko
private_key = paramiko.RSAKey.from_private_key_file("C:\\a\\a.rsa",'123') #没有密钥密码可以不用加“,‘123’”
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='192.168.200.48',port=22,username='root',pkey=private_key)
stdin,stdout,stderr = ssh.exec_command('df;top')
res = stdout.read()+stderr.read()
print(res.decode())
简单sftp登录
import paramiko
transport = paramiko.Transport(('192.168.80.200',22))
transport.connect(username='root',password='123')
sftp = paramiko.SFTPClient.from_transport(transport)
sftp.get('/root/1','2')
sftp.put('test.py','/root/3')
密钥方式SFTP
#以下是密钥方式
import paramiko
private_key = paramiko.RSAKey.from_private_key_file("C:\\a\\a.rsa",'123') transport = paramiko.Transport(('192.168.200.48',22))
transport.connect(username='root',pkey=private_key) sftp = paramiko.SFTPClient.from_transport(transport) sftp.get('/home/aa/1','2')
sftp.put('test.py','/home/aa/3'
paramiko 实现ssh登录和sftp登录的更多相关文章
- Huawei-R&S-网络工程师实验笔记20190530-FTP上传下载、STelnet登录、SFTP登录
>Huawei-R&S-网络工程师实验笔记20190530-FTP上传下载.STelnet登录.SFTP登录 >>实验开始,参考<Huawei-R&S-网络工程 ...
- paramiko之ssh登录,执行cmd,下载文件
一.paramiko远程登录及执行命令 1.1:exec_command(cmd)远程执行命令 client = paramiko.SSHClient() client.set_missing_hos ...
- [转]python3之paramiko模块(基于ssh连接进行远程登录服务器执行命令和上传下载文件的功能)
转自:https://www.cnblogs.com/zhangxinqi/p/8372774.html 阅读目录 1.paramiko模块介绍 2.paramiko的使用方法 回到顶部 1.para ...
- python paramiko模块SSH自动登录linux系统进行操作
1). Linux系统首先要开启SSH服务:service ssh status 如果没安装的话,则要:apt-get install openssh-server service ssh resta ...
- 用ChrootDirectory限制SFTP登录的用户只能访问指定目录且不能进行ssh登录
创建不能ssh登录的用户sftpuser1,密码用于sftp登录: sudo adduser sftpuser1 --home /sftp/sftpuser1 --shell /bin/false s ...
- 教你如何配置linux用户实现禁止ssh登陆机器但可用sftp登录!
构想和目标最近有个这样的诉求:基于对线上服务器的保密和安全,不希望开发人员直接登录线上服务器,因为登录服务器的权限太多难以管控,如直接修改代码.系统配置,并且也直接连上mysql.因此希望能限制开发人 ...
- SSH设置秘钥登录
设置 SSH 通过密钥登录 我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器.但是,一般的密码方式登录,容易有密码被暴力破解的问题.所以,一般我们会将 SSH 的端口设置为默 ...
- ssh证书免认证登录
思路: 客户端私钥存放于客户端,/root/.ssh/id_rsa 将客户端公钥存放于要远程控制服务器上:将客户在公钥id_rsa.pub内容追加到 /root/.ssh/authorized_key ...
- 实现ssh的无password登录
这里所说的ssh是指OpenSSH SSHclient.是用于登录远程主机.而且在远程主机上运行命令.它的目的是替换rlogin和rsh,同一时候在不安全的网络之上,两个互不信任的主机之间,提供加密的 ...
随机推荐
- js-null 、undefined
注意:null 转为数值时为0,而 undefined 转为数值时为 NaN. Number(undefined) // NaN Number(null) // 0 null 表示"没有对象 ...
- SpringBoot Maven项目 Helloworld 测试
SpringBoot 化繁为简,简化配置 SpringBoot官方:http://projects.spring.io/spring-boot/SpringBoot使用介绍:http://blog.c ...
- ajax跨域(No 'Access-Control-Allow-Origin' header is present on the requested resource)
问题 在某域名下使用Ajax向另一个域名下的页面请求数据,会遇到跨域问题.另一个域名必须在response中添加 Access-Control-Allow-Origin 的header,才能让前者成功 ...
- Python之路,第十九篇:Python入门与基础19
python3 面向对象3 数值转换函数重载: str(obj) __str__ complex(x) __complex__ int(obj) ...
- Unity 灯光探针用法教程
Unity 灯光探针用详解 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...
- Java中的关键字
1)48个关键字:abstract.assert.boolean.break.byte.case.catch.char.class.continue.default.do.double.else.en ...
- XXS level1
level1 (1)查看PHP源码,发现可以通过调用window,alert()完成任务 window.alert = function() { confirm("完成的不错!") ...
- 如何新建oracle数据库,图文流程。
系统环境:Windows server 2008 R2 企业版 SP1 软件版本:oracle 11g win64位 默认oracle 11g 安装配置完成,我们该如何创建数据库? 我们就介绍最基本 ...
- 《DSP using MATLAB》Problem 6.16
从别的地方找来的: 截图有些乱. 结构流程图如下
- servlet创建项目过程中,servlet内容重写的两种搭建,tomcat的配置,class的存放位置,web.xml的搭建等注意事项与易错点
运行一个servlet项目:需要做这些前提工作: 1.配置tomcat,在server选项卡的设置也就基本的设置,HTTP port与JMX port等端口号:基本都是默认的.这里需要注意的是,有的教 ...