概述:
现在我们已经越来越多地使用程序去代替人工执行一些操作(比如说,安装一些软件、登录一些服务等等),可是这些操作又有很多的情况是要和人之间进行互动(比如说输入一些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()
执行效果: