É quando minha chave pública está presente no servidor:
>>> c = Connection(host=ip, user='root', port=22)
>>> c.run('uname -s')
Linux
<Result cmd='uname -s' exited=0>
É quando minha chave pública é removida do servidor:
>>> 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'
Como passar senha para o Connection? PS: Não consegui encontrar na nova documentação (2.0).
Conexão (host = "[email protected]", connect_kwargs = {"senha": "111111"})
Tenho quase 50 servidores com o mesmo nome de usuário e senha e como posso fazer isso? cada servidor e senha que não consigo digitar. Gostaria de saber como fazer?
Tenho quase 50 servidores com o mesmo nome de usuário e senha e como posso fazer isso? cada servidor e senha que não consigo digitar. Gostaria de saber como fazer?
A melhor maneira é usar as chaves ssh.
Se precisar resolver isso, você pode adicionar ao seu fabfile.py estas linhas antes da tarefa:
env.user = "username"
env.password = "bestpasswordever"
Atenciosamente.
tentei, mas obteve a seguinte exceção: [servidor] Executando tarefa 'tempo de atividade'
[servidor] execute: ps -ef | grep httpd | wc-l
c: \ users \ tmou \ appdata \ local \ programs \ python \ python37-32 \ lib \ site-packages \ paramiko \ ecdsakey.py: 164: CryptographyDeprecationWarning: Suporte para construção insegura de público
números de dados codificados serão removidos em uma versão futura. Use EllipticCurvePublicKey.from_encoded_point
self.ecdsa_curve.curve_class (), pointinfo
Erro fatal: tempo limite esgotado ao tentar conectar-se a c4t18815.itcs.hpe.com (tentativa 1 vez)
Exceção subjacente:
tempo esgotado
Abortando.
Comentários muito úteis
Conexão (host = "[email protected]", connect_kwargs = {"senha": "111111"})