python三方库之paramiko
看源码+实验
第一步:
class SSHConfig(object):
这个类的主要作用就是用来解析ssh配置文件,/etc/ssh/sshd_config 注意是解析sshd_config
配置文件可以看做键值对组成的
ssh_config = SSHConfig()
ssh_config.parse(open('/etc/ssh/sshd_config'))
print ssh_config._config
class LazyFqdn(object):
fqdn是什么?是指主机名加上全路径
if fqdn is None: fqdn = socket.getfqdn()
class SSHClient
SSHClietn是一个上层的封装。
context managers.
context manager上下文管理器,这个翻译好不适应。
语句体(with-body):with 语句包裹起来的代码块,在执行语句体之前会调用上下文管
理器的 __enter__() 方法,执行完语句体之后会执行 __exit__() 方法。
使用paramiko进行文件上传或下载
transport = paramiko.Transport(('192.168.3.201', 22))
transport.connect(username='root', password=yourpasswd)
sftp = paramiko.SFTPClient.from_transport(transport)
try:
sftp.get(remotepath, localpath)
sftp.put(localpath, remotepath)
finally:
sftp.close()
transport.close()
使用paramiko远程执行命令
首先要建立一个SSHClient的实例,并进行连接,然后调用exec_command()方法,执行命令。