python远程执行shell 防止注入脚本_解决 window 上python远程执行shell paramiko 下令 Permission denied...

1. 若是程序是在 Linux远程执行 , 那么遇到某些下令是不需要 再输入密码的

但若是 python 是在内陆 , 用  paramiko包 远程ssh登录执行下令 , 就会遇到需要输入密码

2.解决办法 , 在windows上面  ssh-keygen -t rsa -C “abby@192.168.1.100” ,  公钥的作用域是远程 IP用户名 为’abby’

建立window 自己的公钥 , 实在相当于自己的指纹.

把这个指纹 , 复制到远程 Linux的 公钥存放点

(在window的公钥文件夹下执行复制下令 , 注重远程Linux内里根目录   ~ 代表的是用户 , /dir 代表的是 root的根目录

scp ./id_rsa.pub abby@192.168.1.11:~/.ssh/windows_ras.pub       我这里是复制到用户.ssh内里

b28dde58a3bd462487634efec3cd2564.png

这个下令就是查看你复制到Linux的RSA 公钥而且写入到 Linux已确认免密登录公钥的文件中 , 他自己会建立 , 这样就可以window免密登录了

使用python的 ssh 功效就不用输入密码 ,我指的是启动某些下令需要

cat windows_ras.pub >> authorized_keys

941ef76a535e0757c5451a46ce70c9fd.png

fd2f1e417d6a51642560955d8fa87307.png

注重: scp 复制到Linux的 /  和~/  不是统一位置哦 , / 是root的免密 . ~/是 user的免密(说了两遍)

Final: 贴上我 用python 上的 paramiko 包 远程 启动 hadoop实例 .以前是能上岸进去,然则执行下令会报要输入密码 ,

另外,执行下令需要输入完整的路径名

#-*- coding: utf-8 -*-#批量操作linux服务器(执行下令,上传,下载)#!/usr/bin/python

importparamikoimportthreadingdefssh2(ip, username, passwd, cmd):try:

paramiko.util.log_to_file('paramiko________.log')

ssh=paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(ip,22, username, passwd, timeout=5)

stdin, stdout, stderr=ssh.exec_command(cmd)

out=stdout.readlines()#outerr = stderr.readlines()

#屏幕输出

print('执行完毕')for o inout:print(o),print('%s\tOK\n' %(ip))

ssh.close()except:print('%s\tError\n' %(ip))if __name__ == '__main__':#cmd = ['ls -lh /export/servers/mysql/log/mysql.log']#你要执行的下令列表

#从文件读取下令

cmd= "/home/abby/module/hadoop-2.6.0-cdh5.15.0/sbin/start-dfs.sh;"

print("执行下令:", cmd)

username= "abby" #用户名 你是免密给哪个用户的 ,哪个用户才有权力不用 密码接待外宾

passwd = "1" #单台服务器时启用----------------------

ip = '192.168.1.11' #单台服务器时启用----------------------

a= threading.Thread(target=ssh2, args=(ip, username, passwd, cmd))

a.start()

PS:  我们把window的 公钥比喻成一个客户 , 秘钥上传比作 行贿 , 你传给谁的  , 那么谁才能为你 开门 ,scp 的位置 , 作用的用户 就是你行贿的工具

你不能用行贿给 abby  , 开门却去找 root , 那样照样需要密码的 , 就算你把大门打开 , 焦点通道你照样进不去 ,就像这里我行贿给 abby ,我用root 去登录 ,

能登进去 , 但执行需要认证的下令一定失败.

以是我用 abby 登录上照样可以的 ,就算 root 的权限比abby 高也不行 . 我执行了   关闭 hadoop的下令 而且返回了 .

通过这个 . . . 这也能执行一些剧本的 .横竖不需要输密码 .

e0198e8aaf2da2d08a732c244a3fe9d9.png

原文链接:https://www.cnblogs.com/alpha-cat/p/12861783.html

本站声明:网站内容来源于网络,若有侵权,请联系我们,我们将及时处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289891.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MT3608 高效率1.2MHz2A升压转换器和MT3608L 高效率1.2MHz 2.5A升压转换器 MT3608L和MT3608的区别

MT3608是一个恒定的频率,6引脚SOT23电流模式升压转换器的小,低功耗应用的目的。该MT3608开关在1.2MHz,并允许微小的,低成本的电容器和电感器使用2毫米或更小的高度内部软启动浪涌电流的结果,并延长电池寿命。 …

CityEngine 2012与ArcGIS 10.2破解心得

安装及破解步骤: 1.卸载机子上原有的ArcGIS的License以及Desktop。 2.安装及破解CityEngine。(安装包及注册码下载见点击打开链接) 3.安装ArcGIS Desktop即可,不需要安装Lisence。 4.如果第三步结束后ArcGIS打不开&#xff0c…

JsonRequestBehavior.AllowGet 方便浏览器调试

[HttpGet]public ActionResult getCoversationList(int CustomerId){// 获取用户相关的聊天数据,包括个人,群,系统(可以单独获取)return Json(new { result true, info "", msg "操作成功" }, JsonRequestBehavior.Al…

基于.NET6的开源工业物联网网关

什么是工业物联网网关工业物联网网关(IIoTGateway)是一种硬件设备或软件程序,作为本地设备(如PLC、扫码枪、机器人、数控机床、非标上位机等)与云端系统(如物联网平台、SCADA系统、MES系统等)之间的桥梁,在设备和云端之间流动的所…

CityEngine生成不等间距桥墩

在CityEngine中建立高架桥时自动生成的桥墩属于几乎等距的桥墩,对于不等距的桥墩该如何处理?另外,等距桥墩会有产生很多问题,比如:桥墩会压盖在下方路面上。 解决思路:获取桥墩点位数据,之后使用…

keepalived 报错 Popt libraries is required

2019独角兽企业重金招聘Python工程师标准>>> …… checking for SSL_CTX_new in -lssl... yes checking for poptGetContext in -lpopt... no configure: error: Popt libraries is required 解决办法 yum install popt-devel -y 转载于:https://my.oschina.net/col…

芒果TV会员,月卡最低9.9元,年卡最低128元!

全国首部湘商题材电视剧《一代洪商》,将于3月27日在央视八套(电视剧频道)播出,芒果TV将线上播出。该剧由王少华编剧,路奇担纲导演,孟凡耀担任总制片人,张丰毅、李立群、张睿、张含韵等人主演&am…

CityEngine如何生成隧道

在我们的生活中,大家经常乘坐汽车、动车等交通工具,会经过如隧道这样的路段,也许大家在经过隧道的时候会有一种疑惑,这隧道是如何修建的?对于我们GISer来讲,可能会考虑如何将其数字化,是以二维的…

Flask 应用的文件结构

2019独角兽企业重金招聘Python工程师标准>>> 作为微框架,即便只有一个文件也可以编写基于 Flask 的 Web 应用。然而对于许多现实世界中的应用,拥有数十个以上的视图(view)是非常正常的,这时候,F…

Xamarin效果第十二篇之控制祖传PLC

在前面使用DllImport去调用了公司祖传的PLC;坑也被坑了一下,但是总感觉还是基于祖传的Dll木有一点意思;毕竟就是一个数据的监控和开关量的控制;要是直接能用我的屌丝机控制一下就可以好好开(Z)心(B);毕竟前面咱也是玩过一点点Xamarin的,那就再次拾起来去玩耍一下吧;来看看最终咱…

CityEngine下如何更好的实现影像与地形叠加

问题:在利用CityEngine导入影像和地形时,会出现影像或地形不显示的问题。 分析:这主要是由影像、地形的尺寸大小和像素深度两个因素导致的。 解决: 1.调整尺寸 首先看一下影像和地形的大小。我们知道CityEngine并不是一个展示平台…

java script创建对象_javascript笔记:深入分析javascript里对象的创建

大家知道在java里面类可以具有静态属性和方法,无需实例化该类的对象,就可以访问这些属性和方法,但是javascript里面是不是只有通过对象初始化方式才会模拟出这样的特点了?其实不然,在编程语言里,类的方法和…

一分钟了解Android横竖屏 mdpi hdpi xhdpi xxhdpi xxxhdpi

DPI:每英寸像素数 简单的屏幕分辨率计算方法: DisplayMetrics metrics this.getResources().getDisplayMetrics(); float density metrics.density; int dpi metrics.densityDpi; int heightPixels metrics.heightPixels; int widthPixels metrics.widthPixels…

利用 .NET Core 中的数据保护组件实现限时 Token

前言在业务开发时,我们常常需要生成有过期时间的 Token 凭证。比如重置密码,即使被其他人获取到链接,超过指定时间也无法操作,以保证安全性:常用的实现方式,可以使用缓存或数据库存储 Token 的过期时间。今…

CityEngine Web Scene如何在IIS下部署

CityEngine2012新增了发布Web场景的功能,可以通过本地的Web Scene Viewer打开,也可以发布到ArcGIS Online云端进行共享。如下图: 注:3ws场景包制作方法:选中模型->File->Export->Export Models…->CityE…

WPF 使用DrawingVisual绘制高性能曲线图

一、前言项目中涉及到了心率监测,而且数据量达到了百万级别,通过WPF实现大数据曲线图时,尝试过最基础的Canvas来实现,但是性能堪忧,而且全部画出来也不实际。同时也尝试过找第三方的开源库,但是因为曲线图涉…

数据结构(Java)——迭代器和列表的实例

感谢Java软件结构与数据结构 John Lewis Joseph chase 著 金名译 0. 迭代器关键概念(补充理解) 【1】迭代器是一个对象,它提供了一种依次访问集合中每个元素的方式。 【2】经常把集合定义为Iterable的,说明需要时可以提供一个迭代…

地理信息科学前沿-[热词]

1. LBS Location Based Service:基于位置的服务,它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标)&#xff0c…

《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一1.2.2 内存...

本节书摘来华章计算机《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第1章 ,第1.2.2节,[美] 克里斯托弗库塞克(Christopher Kusek) 著 吕南德特施皮斯(Rynardt Spies&a…

如何检查服务已在依赖注入容器中注册

前言依赖关系注入(DI),是一种在类及其依赖项之间实现控制反转(IoC)的技术。在ASP.NET Core中,依赖关系注入是“一等公民”,被大量使用。但是有时,我们仅仅只需要知道服务是否在依赖注入容器中已注册。比如,不注册使用分…