import paramiko
key = paramiko.RSAKey.from_private_key_file("abc.pem")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
print("connecting")
ssh.connect(hostname="1.1.1.1", username="abc", pkey=key)
print("connected")
commands = "ip a"
stdin, stdout, stderr = ssh.exec_command(commands)
print(stdout.read())
print(stderr.read())
print(stdin.read())
ssh.close()
Why have sometime will AttributeError: 'NoneType' object has no attribute 'time'
in Python3.8 and sometime need wait long time show as result(or how can i see process)
Error code:
Exception ignored in: <function BufferedFile.__del__ at 0x108271ee0>
Traceback (most recent call last):
File "/venv/lib/python3.8/site-packages/paramiko/file.py", line 66, in __del__
File "/venv/lib/python3.8/site-packages/paramiko/channel.py", line 1392, in close
File "/venv/lib/python3.8/site-packages/paramiko/channel.py", line 991, in shutdown_write
File "/venv/lib/python3.8/site-packages/paramiko/channel.py", line 967, in shutdown
File "/venv/lib/python3.8/site-packages/paramiko/transport.py", line 1846, in _send_user_message
AttributeError: 'NoneType' object has no attribute 'time'
Advance
how can i use paramiko double ssh
localhost >> a(server) ssh >> b
exec_command
. Also I'd recommend running each command line by line in an interpreter to see which part exactly causes the exception - I'm curious as to whether it's during the read of stderr etc and a result of the buffer still being written to whilst you're trying read to it. All else fails, raise a bug report, since its 3.8 and the fact that you're seeing an Exception being ignored and the message in the trace you're getting means it's not caught by any meaningful exception class they provide. – Azobenzenessh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute) time.sleep(0)
. It seems far from ideal. Adding a timeout to theexec_command
didn't make any difference. – Thomasinathomasine