Python学习笔记--ssh登录Linux设备(root、非root切换)

这篇博客记录了使用Python进行SSH登录Linux设备时遇到的问题及解决方案。在尝试连接时遇到了SSHException,错误提示为因不安全算法导致的不兼容问题。通过检查发现,这是由于SSH版本6.7以上屏蔽了某些算法。解决办法是在`/etc/ssh/sshd_config`配置文件末尾添加相关设置,并重启SSH服务。

Python学习笔记--ssh登录Linux设备(root、非root切换)

编写成功的代码

# -- coding: UTF-8
__author__ = 'jlr'
import paramiko

class ProcessCheck(object):
    #初始化
    def __init__(self, deviceIP):
        self.deviceIP = deviceIP

    #登录无需跳转用户,如root
    def LoginDevice(self, port, username, password, cmd):
        self.ssh = paramiko.SSHClient()
        self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        self.ssh.connect(self.deviceIP, port, username, password)
        self.stdin, self.stdout, self.stderr = self.ssh.exec_command(cmd)
        return self.stdout.read().decode()

    #登录跳转用户,如zxisec->root
    def logindevice_reinforce(self, port1, username1, password1, root_pwd, cmd2):
        self.ssh2=paramiko.SSHClient()
        self.ssh2.load_system_host_keys()
        self.ssh2.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        self.ssh2.connect(hostname = self.deviceIP,port=int(port1),username=username1, password=password1)
        if username1 != 'root':
         
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值