Python的Crypto模块使用:自动输入Shell中的密码

概述:

现在我们已经越来越多地使用程序去代替人工执行一些操作(比如说,安装一些软件、登录一些服务等等),可是这些操作又有很多的情况是要和人之间进行互动(比如说输入一些yes or no、输入密码、输入自定义数据等)。如果Shell中需要我们去输入这个值,我们的程序又没有提供这样的功能,那么流程就会卡在了这个流程中。当然,我们不希望有这样的情况发生。那么希望这篇文章可以提供一个思路,帮助你解决一些棘手的问题。

准备工作:

1.python

2.pycrypto-2.4.1.tar

http://download.csdn.net/detail/u013761665/8941689

3.paramiko-1.7.7.1.tar

http://download.csdn.net/detail/u013761665/8941689

安装步骤:

PyCrypto安装

# wget http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.tar.gz

# tar -zxvf pycrypto-2.6.tar.gz

# cd pycrypto-2.6/

# python setup.py build && python setup.py install

paramiko安装

# wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz

# tar xvzf paramiko-1.7.7.1.tar.gz

# cd paramiko-1.7.7.1/

# python setup.py build && python setup.py install

使用:

1.使用paramiko免密码登录SSH

#!/usr/bin/env python
import paramiko

hostname='your ip address'
username='root'
password='your login password'

#port=22
if __name__=='__main__':
    # paramiko.util.log_to_file('paramiko.log')
    s = paramiko.SSHClient()

    s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    s.connect(hostname = hostname,username=username, password=password)
    stdin, stdout, stderr = s.exec_command('ifconfig;free;df -h')
    print stdout.read()
    s.close()

执行效果:

版权声明:本文为博主原创文章,未经博主允许不得转载。http://blog.csdn.net/lemon_tree12138

时间: 2024-10-10 01:11:46

Python的Crypto模块使用:自动输入Shell中的密码的相关文章

windows下python安装readline模块 实现自动补全

安装了python2.7和python3.5两个版本 python2.7首先安装下载readline: py -2 -m pip install pyreadline 完成后在Python27\Lib\site-packages目录下生成两个目录 pyreadline pyreadline-2.1-py2.7.egg-info 这样就可以使用readline模块了 python3.5安装下载 下载好的pyreadline-2.1.zip解压后,用python3 setup.py install来

python安装readline模块 实现自动补全

yum安装readline.readline-devel #yum install -y readline-devel 下载安装setuptools #wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefe74e --no-check-certificate #tar -zxvf setuptools-0.6c11.tar

shell中的界定

shell中有些符号在不同界定下会被不同处理,界定主要有3种方式: (1)单引号 (2)双引号 (3)反引号 我们最常用的就是双引号和单引号,对于这2个符号,用$变量可以很清楚的说明它们的区别,如下: [[email protected] ~]$ echo 'Home is $HOME' Home is $HOME [[email protected] ~]$ echo "Home is $HOME" Home is /home/map 我们可以很清楚的总结出规律:单引号中$HOME被

shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录sshpass 应用实践

在很多实践项目中,我们经常会通过SSH来进行认证,如通过SSH拷贝文件,虽然我们可以使用公钥与私钥实现ssh 无密码登录,在不同的服务器上又需要配对相应的密钥,切换用户麻烦等问题,在一些需要交互但会涉及到批量处理的时候,通过shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录会大大的提高工作效率 #! /bin/bash ############################################## #Author:                

shell写自动安装脚本自动读取license和自动输入回车

最近比较闲,在公司写了一个centreon+nagios平台源码全自动安装脚本(因为公司不能连外网,公司yum源很多东西不全,所以只能采取源码安装),其中写到安装centreon时候,执行./install -i 会需要回车读取license,而需要阅读内容比较多,需要多次按下空格键才能读完,以下使用expect来实现此部分,如果各位有比较好的方法,麻烦指点,相互学习,因为脚本已经使用,所以不便公开,这里就简单举个例子,之后应该会用python写一些开源的东西,也请大家多多指点. 1.安装exp

使用expect实现自动交互,shell命令行自动输入

背景 有需求,在允许命令或者脚本跳出交互行,需要进行内容输入,但需要人手动输入,不是很方便,此时可以通过expect来实现自动互动交互. expect是一个自动交互功能的工具,可以满足代替我们实际工作中需要从终端手动输入某些内容来使得程序或命令继续运行的目的.如安装软件是时的一些提示,ssh远程主机执行命令时需要多次输入密码的情况. 安装expect 安装依赖:yum install tcl -y 安装expect:Centos系统yum install expect -y或Ubuntu系统ap

转载:python基础之模块

作者:武沛齐 出处:http://www.cnblogs.com/wupeiqi/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接. 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块. 如:os 是系统相关的

[ python编程 ] subprocess模块学习总结

转载:http://www.jb51.net/article/48086.htm 从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如 os.system.os.spawn*.os.popen*.popen2.*.commands.*不但可以调用外部的命令作为子进程,而且可以连接到子进程的input/output/error管道,获取相关的返回信息. 一.subprocess以及常用的封装函数    运行python的时候,我们都是在创建并

Python(六)-常用模块

目录: 1.模块介绍 2.time & datetime模块 3.rendom 4.os 5.sys 6.shutil 7.json & picle 8.shelve 9.xml处理 10.yaml处理 11.chonfigparser 12.hashlib 13.subprocess 14.logging模块 15.re正则表达式 第一章:模块介绍 模块,用一坨代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用