简单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登录的更多相关文章

  1. Huawei-R&S-网络工程师实验笔记20190530-FTP上传下载、STelnet登录、SFTP登录

    >Huawei-R&S-网络工程师实验笔记20190530-FTP上传下载.STelnet登录.SFTP登录 >>实验开始,参考<Huawei-R&S-网络工程 ...

  2. paramiko之ssh登录,执行cmd,下载文件

    一.paramiko远程登录及执行命令 1.1:exec_command(cmd)远程执行命令 client = paramiko.SSHClient() client.set_missing_hos ...

  3. [转]python3之paramiko模块(基于ssh连接进行远程登录服务器执行命令和上传下载文件的功能)

    转自:https://www.cnblogs.com/zhangxinqi/p/8372774.html 阅读目录 1.paramiko模块介绍 2.paramiko的使用方法 回到顶部 1.para ...

  4. python paramiko模块SSH自动登录linux系统进行操作

    1). Linux系统首先要开启SSH服务:service ssh status 如果没安装的话,则要:apt-get install openssh-server service ssh resta ...

  5. 用ChrootDirectory限制SFTP登录的用户只能访问指定目录且不能进行ssh登录

    创建不能ssh登录的用户sftpuser1,密码用于sftp登录: sudo adduser sftpuser1 --home /sftp/sftpuser1 --shell /bin/false s ...

  6. 教你如何配置linux用户实现禁止ssh登陆机器但可用sftp登录!

    构想和目标最近有个这样的诉求:基于对线上服务器的保密和安全,不希望开发人员直接登录线上服务器,因为登录服务器的权限太多难以管控,如直接修改代码.系统配置,并且也直接连上mysql.因此希望能限制开发人 ...

  7. SSH设置秘钥登录

    设置 SSH 通过密钥登录 我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器.但是,一般的密码方式登录,容易有密码被暴力破解的问题.所以,一般我们会将 SSH 的端口设置为默 ...

  8. ssh证书免认证登录

    思路: 客户端私钥存放于客户端,/root/.ssh/id_rsa 将客户端公钥存放于要远程控制服务器上:将客户在公钥id_rsa.pub内容追加到 /root/.ssh/authorized_key ...

  9. 实现ssh的无password登录

    这里所说的ssh是指OpenSSH SSHclient.是用于登录远程主机.而且在远程主机上运行命令.它的目的是替换rlogin和rsh,同一时候在不安全的网络之上,两个互不信任的主机之间,提供加密的 ...

随机推荐

  1. ORACLE外连接实例

    --查询各个部门工资范围,按照1000~2000,2000~3000....这样的格式显示人数 -------------------方法一 select dept.dname ,nvl(ano,) ...

  2. 学习Java JDBC,看这篇就够了

    JDBC (Java DB Connection)---Java数据库连接 JDBC是一种可用于运行SQL语句的JAVA API(ApplicationProgramming Interface应用程 ...

  3. 安卓 dex 通用脱壳技术研究(四)

    /*     当第一个类执行到此函数时,我们在dvmDefineClass执行之前,也就是第一个类加载之前     注入我们的dump代码:即DumpClass()函数 */ static void  ...

  4. NSCTF2015 逆向第五题分析

    这道题目我没有写出Exploit,因为编码时候里面几个细节处理出错.但对程序的逆向分析已完成,这里就学习一下别人写Exploit的思路.主要参考:绿盟科技网络攻防赛资料下载 0x01 题目要求 题目要 ...

  5. dubbo ActivateExtension

    对于集合类扩展点,比如:Filter, InvokerListener, ExportListener, TelnetHandler, StatusChecker等, 可以同时加载多个实现,此时,可以 ...

  6. spring的multipartResolver和java后端获取的MultipartHttpServletRequest方法对比 (附:遇到的坑)

    转载:https://www.cnblogs.com/yskcoder/p/4718198.html 这两天在用spring进行上传上遇到问题,今天进行了问题的排查,这个过程也增加了我看spring源 ...

  7. 自定义bootbox:dialog方法

    <script src="static/ace/js/bootbox.js"></script>bootbox.dialog({ message: '< ...

  8. java-this和super的区别

    1.this和super都代表什么: - this:代表当前对象的引用,谁来调用我,我就代表谁 - super:代表当前对象父类的引用 - super(...)或者this(...)必须放在构造方法的 ...

  9. 快速排序改进——3区快速排序(3-way quicksort)

    1.快速排序缺陷 快速排序面对重复的元素时的处理方法是,把它放在了左部分数组或右部分数组,下次进行分区时,还需检测它.如果需要排序的数组含有大量重复元素,则这个问题会造成性能浪费. 解决方法:新增一个 ...

  10. 【HDOJ1534】【差分约束+SPFA】

    http://acm.hdu.edu.cn/showproblem.php?pid=1534 Schedule Problem Time Limit: 2000/1000 MS (Java/Other ...