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…

函数学习-abs()

下面开始,今天的函数是abs()先看官方英文文档解释abs(x)Return the absolute value of a number. The argument may be a plain or long integer or a floating point number. If the argument is a complex number, its magnitude is returned.详解:返回…

动态规划之编辑距离

1、问题 例如两个字符串 FAMILY 和 FRAME ,有两种 对齐方式: 1)、 F_A MIL Y FRAME 2)、 _FAMILY FRAME 第 1 种对齐需要付出的代价: 4 ,插入 R ,将 I 替换为 E ,删除 L 、 Y 。 第 2 种对齐需要付出的代价: 5 ,插入 F,将 F 替换为 R ,将 I 替换为 E ,删除 L 、 Y 。…

JsonRequestBehavior.AllowGet 方便浏览器调试

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

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

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

php之简单使用数据库

1.数据库连接 1.1用windows命令行链接数据库服务器 几个DOS命令 在DOS环境下命令后面没有分号,在MySQL环境下,命令后面有分号 进入盘符: 语法:盘符: 进入盘符下的某个文件夹 语法:cd 路径 上级目录&#xf…

CityEngine生成不等间距桥墩

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

linux之vim操作快速跳到下一个空格和上一个空格命令

1、问题 vim里面如何再文本里面快速跳到下一个空格和上一个空格 2、操作 w是在文本里面快速跳到下一个空格 b是在文本里面快速跳到上一个空格

有哪些小游戏的java代码_求一个Java小游戏代码(鼠标点击类小游戏)最好代码里面不要有中文...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼}else{black_count0;}if(chess[i][j]2){white_count;if(white_count5){JOptionPane.showMessageDialog(this,"白棋胜利");Clear_chess();return;}}else{white_count0;}}}for(int i0;i<11;i)//竖向到五个子赢棋{for(in…

SmartFoxServer资料

http://blog.sina.com.cn/s/blog_6bc2090c0100pgkx.html http://www.cnblogs.com/winson-w/p/3555106.html http://www.smartfoxserver.com/ http://asfox.blogbus.com/c1617676 http://www.cnblogs.com/sevenyuan/archive/2009/12/04/1616853.html

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元!

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

Android studio之迁移定制出现Installation failed with message Failed to finalize session

1、问题 把之前能运行的android studio项目换了个目录&#xff0c;但是运行出现这个错误 Installation failed with message Failed to finalize session 2、解决办法 点击android studio然后点击Build, 然后点击Clean Project

CityEngine如何生成隧道

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

idea java8_太赞了,Intellij IDEA 竟然把 Java8 的数据流问题这么完美的解决掉了!...

使用 IntelliJ IDEA 来帮忙构建你自己的实时模板连接分组Java8在2014年三月发布&#xff0c;距离现在(2015年三月五号)快有一年了。我们打算将Pondus的所有生产服务器升级到这一新版本。从那时起&#xff0c;我们将大部分代码库迁移到lambda表达式、数据流和新的日期API上。我们…

免费的编程中文书籍索引

http://siberiawolf.com/free_programming/index.html转载于:https://www.cnblogs.com/zangdalei/p/4967758.html

Flask 应用的文件结构

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

SSH连接linux时,长时间不操作就断开的解决方案

转载地址&#xff1a;http://www.cnblogs.com/jifeng/archive/2011/06/25/2090118.html修改/etc/ssh/sshd_config文件&#xff0c;找到 ClientAliveInterval 0和ClientAliveCountMax 3并将注释符号&#xff08;"#"&#xff09;去掉,将ClientAliveInterval对应的0改成…

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

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