Возникла задача - сделать что-то с файлом на удаленном сервере под рутом.
Для этого написал скрипт примерно следующего содержания
import paramiko
login = raw_input("Login ")
ip = raw_input("IP ")
r_password = raw_input("Password ")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
stdin, stdout, stderr = ssh.exec_command("sudo do_something_with_file")
stdin.write('r_password\n')
ssh.close()
Вывод консоли
>>> stdin, stdout, stderr = ssh.exec_command("sudo do_something_with_file")
>>> stdin.write('r_password\n')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.6/paramiko/file.py", line 314, in write
self._write_all(data)
File "/usr/lib/pymodules/python2.6/paramiko/file.py", line 435, in _write_all
count = self._write(data)
File "/usr/lib/pymodules/python2.6/paramiko/channel.py", line 1218, in _write
self.channel.sendall(data)
File "/usr/lib/pymodules/python2.6/paramiko/channel.py", line 763, in sendall
raise socket.error('Socket is closed')
socket.error: Socket is closed