paramiko库的简单学习
paramiko,一个听起来不像英语的库,在诸多英文名的库中独立旗帜(官方解释为:”Paramiko” is a combination of the Esperanto words for “paranoid” and “friend”)。它的主要功能就是实现对ssh协议的封装,能够在一个更高层面上,轻松地使用ssh以及sftp等功能。
一、安装
pip install paramiko
二、ssh连接对象
1.使用密码连接
import paramiko
# 这行代码可以生成连接日志,大部分情况下不需要
# paramiko.util.log_to_file('/tmp/sshout')
ssh = paramiko.SSHClient()
#这行代码的作用是允许连接不在know_hosts文件中的主机。
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("IP", port, "username", "password")
2.使用秘钥连接
import paramiko
ssh = paramiko.SSHClient()
ssh.connect('10.120.48.109', port, '用户名', key_filename='私钥')
三、ssh执行指令
成功连接主机后,可以使用ssh.exec_command(cmd)的方法执行指令。
但默认返回三个paramiko.channelfile对象,我们可以用以下的方法读取数据或者写入确认等。
stdin, stdout, stderr = ssh.exec_command(cmd)
# 如果成功,stdout会拿到输出的结果
for line in stdout.readlines():
print(line)
# 执行过程中,可以使用以下方法进行确认,但此时的确认是对指令操作过程中的指令,例如“确认删除”等
stdin.write('Y'</