from time import sleep
import paramiko
class SshConnectLuban(object):
def __init__(self):
self.ip = "****"
self.username = "****"
self.pwd = "****"
self.port = 8022
self.timeout = 30
self.request_channel = "/as_houyi/davinci_adas/ui/request"
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
self.ssh = ssh
def connect_by_pwd_(self):
"""
密码连接
:param pwd: str 登录密码
:return: bool
"""
self.ssh.connect(hostname=self.ip, port=self.port,
username=self.username, password=self.pwd)
if self.ssh:
print("密码连接成功.")
sleep(2)
return True
pass
else:
self.close()
raise Exception("密码连接失败.")
def close(self):
"""
关闭当前连接
:return: bool
"""
if self.ssh:
self.ssh.close()
print("已关闭ssh连接")
return True
pass
else:
raise Exception("当前对象并没有ssh连接.")
def exec_command(self,command):
"""
命令控制
:param command: str 命令
:return: dict 命令执行的返回结果
"""
# self.ssh.exec_command(command)
if command:
stdin, stdout, stderr = self.ssh.exec_command(command)
print("执行指令")
return {
"stdin": command,
"stdout": str(stdout.read()),
"stderr": str(stderr.read())
}
pass
else:
self.close()
raise Exception("命令不能为空字符串.")
python之paramiko建立ssh连接
最新推荐文章于 2024-08-08 20:04:21 发布