Ssh套接字已关闭。想要一个交互式sshshellautomation for Linux的机器
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
##Creating Ssh Session
ssh.connect("gfr4123408", port=22, username='rstrusr',password='Password')
stdin,stdout,stderr = ssh.exec_command('symcfg -lockbox reset -ssv')
#Here it asks for password and i want to write password below
stdin.write("Password")
stdin.write('\n')
stdin.flush()
output=stdout.readlines()
print(output)
我得到以下错误
Traceback (most recent call last): File "", line 1, in stdin.write('password') File "C:\Users\venkar2\AppData\Local\Programs\Python\Python36\lib\site-packages\paramiko\file.py", line 402, in write self._write_all(data) File "C:\Users\venkar2\AppData\Local\Programs\Python\Python36\lib\site-packages\paramiko\file.py", line 519, in _write_all count = self._write(data) File "C:\Users\venkar2\AppData\Local\Programs\Python\Python36\lib\site-packages\paramiko\channel.py", line 1333, in _write self.channel.sendall(data) File "C:\Users\venkar2\AppData\Local\Programs\Python\Python36\lib\site-packages\paramiko\channel.py", line 831, in sendall sent = self.send(s) File "C:\Users\venkar2\AppData\Local\Programs\Python\Python36\lib\site-packages\paramiko\channel.py", line 785, in send return self._send(s, m) File "C:\Users\venkar2\AppData\Local\Programs\Python\Python36\lib\site-packages\paramiko\channel.py", line 1169, in _send raise socket.error('Socket is closed') OSError: Socket is closed
我要为200多个设备配置,如何解决这个问题??在
你会发现有两件事很有用:
exec_command
接受get_pty
的可选参数。你可以这样使用它:将密码放入
stdin
,并返回一行并刷新以确保它被传递。这可以确保它在请求时收到密码(你可以做一些更复杂的事情来检查它是否真的请求了。。。只是简单地把它扔进去,对我来说并没有什么问题。)综合起来,这些应该可以解决您的
sudo
超过paramiko
的问题。在大多数情况下,这个问题与发送两个命令之间的时间有关。 我有这个问题。什么时候我用过”时间。睡觉(十) “在我的命令之间,这个问题消失了。在
相关问题 更多 >
编程相关推荐