zoukankan      html  css  js  c++  java
  • paramiko socket.error: Int or String expected

    paramiko socket.error: Int or String expected

    paramiko的环境:
    Python 2.6.6
    paramiko==1.14.0

    正常的paramiko用法:

    >>> import paramiko
    >>> client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect('10.2.1.243', port=22, username='root', password='', timeout=600) 
    stdin, stdout, stderr = client.exec_command('pwd')>>> client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    >>> client.connect('10.2.1.243', port=22, username='root', password='', timeout=600) 
    >>> stdin, stdout, stderr = client.exec_command('pwd')
    >>> stdout.read()
    '/root
    '
    

    出现这种错误的情况:

    >>> import paramiko
    >>> client = paramiko.SSHClient()
    >>> client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    >>> port=22L
    >>> client.connect('10.2.1.243, port=port, username='root', password='', timeout=600) 
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/opt/project/maintain/lib/python2.6/site-packages/paramiko/client.py", line 222, in connect
        for (family, socktype, proto, canonname, sockaddr) in socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
    socket.error: Int or String expected
    

    上面这个错误,是因为connect方法中的port设置为Long int了,把port转为string或者int,可以修复这个问题

    注意:
    这个错误,在Python2.7.6 paramiko==1.4.0 中并没有出现,其它版本,没有做更多的测试

  • 相关阅读:
    一、CentOS 7安装部署GitLab服务器

    四、指定Nginx启动用户
    三、Nginx支持php
    二、Nginx多站点配置(参考宝塔的)分析
    一、Nginx多站点配置
    一、PHP和Apache实现多用户自助建站
    Flask+uwsgi+Nginx+Ubuntu部署
    flask 上传头像
    flask 分页
  • 原文地址:https://www.cnblogs.com/xupeiyuan/p/4246848.html
Copyright © 2011-2022 走看看