1. 导入第三方模块
1.1 导入paramiko:
import paramiko
1.2 导入AuthenticationException, SSHException:
from paramiko import AuthenticationException, SSHException
1.3 导入logging:
import logging //用于生成日志
1.4 logging.basicConfig(
filename='my.log',
level=logging.WARN,
format="%(asctime)s-%(filename)s-%(lineno)d- %
(levelname)s: %(message)s "
) //建立日志文件:my.log;当等级为WARN及以上时,写入日志文件中,文件格式为format
2. 连接用户
2.1 建立与远程主机的通道:
transport = paramiko.Transport((ip, 22)) //ip为远程主机ip,22为端口号
2.2 验证用户名和密码:
transport.connect(username='user', password='password')
2.3 根据创建并验证成功的通道, 创建sftp客户端:
sftp = paramiko.SFTPClient.from_transport(transport)
3. 捕获异常
3.1 密码错误异常:
except AuthenticationException as e:
logging.error("主机%s连接失败" % (self.host)) //将异常写入日志
print("密码错误:", e)
3.2 主机名错误:
except SSHException as e:
logging.error("主机%s密码错误" % (self.host)