Fabric: 如何使用密码创建连接?

创建于 2018-05-21  ·  4评论  ·  资料来源: fabric/fabric

这是我的公钥出现在服务器上的时候:

>>> c = Connection(host=ip, user='root', port=22)
>>> c.run('uname -s')
Linux
<Result cmd='uname -s' exited=0>

这是从服务器中删除我的公钥时:

>>> c = Connection(host=ip, user='root', port=22)
>>> c.run('uname -s')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<decorator-gen-3>", line 2, in run
  File "/usr/local/lib/python2.7/dist-packages/fabric/connection.py", line 23, in opens
    self.open()
  File "/usr/local/lib/python2.7/dist-packages/fabric/connection.py", line 488, in open
    self.client.connect(**kwargs)
  File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 424, in connect
    passphrase,
  File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 691, in _auth
    self._transport.auth_publickey(username, key))
  File "/usr/local/lib/python2.7/dist-packages/paramiko/transport.py", line 1450, in auth_publickey
    return self.auth_handler.wait_for_response(my_event)
  File "/usr/local/lib/python2.7/dist-packages/paramiko/auth_handler.py", line 212, in wait_for_response
    raise e
AttributeError: '_RSAPrivateKey' object has no attribute 'sign'

如何将密码传递给Connection? PS:我在新文档(2.0)中找不到它。

最有用的评论

连接(主机=“[email protected]”,connect_kwargs={“密码”:“111111”})

所有4条评论

连接(主机=“[email protected]”,connect_kwargs={“密码”:“111111”})

我有将近 50 台服务器使用相同的用户名和密码,我该怎么办? 我无法输入的每一个服务器和密码。 我想知道怎么做?

我有将近 50 台服务器使用相同的用户名和密码,我该怎么办? 我无法输入的每一个服务器和密码。 我想知道怎么做?

最好的方法是使用 ssh 密钥。

如果你需要解决这个问题,你可以在任务之前添加到你的 fabfile.py 这行:

env.user = "username"
env.password = "bestpasswordever"

此致。

尝试但得到以下异常:[server] Executing task 'uptime'
[服务器] 运行:ps -ef|grep httpd | wc-l
c:\users\tmou\appdata\local\programs\python\python37-32\lib\site-packages\paramiko\ecdsakey.py:164: CryptographyDeprecationWarning: 支持不安全的公共构造
编码数据中的数字将在未来版本中删除。 请使用 EllipticCurvePublicKey.from_encoded_point
self.ecdsa_curve.curve_class(), pointinfo

致命错误:尝试连接到 c4t18815.itcs.hpe.com 超时(尝试 1 次)

基础异常:
时间到

中止。

此页面是否有帮助?
0 / 5 - 0 等级