'put' in SFTP using Paramiko
paramiko, python, sftp
Solution
The solution seemed very funny to me!
source= '/Unzip.sh'
destination ='/var/mpx/www/http/Unzip.sh'
Just modified the destination path to include the file name as well. Didn't expect some error like this coming from a Python package.
Problem
I've installed and written the following Paramiko which is unable to put the file. It is easily able to 'get' a file and execute `ls` commands on it. ``` #set username & password username='runaway' password='runaway' port=22 source= '/Unzip.sh' destination ='/var/mpx/www/http' #SFTP client.load_system_host_keys() print " hostname =%s \n username=%s \n password=%s \n" (hostname,username,password) t = paramiko.Transport((hostname, port)) t.connect(username=username,password=password) sftp = paramiko.SFTPClient.from_transport(t) sftp.put(source,destination) #sftp.close() #t.close() ``` Using a 'put' command gives the following error & stack trace - ``` File "upload_file.py", line 84, in ? sftp.put(source,destination) File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 522, in put fr = self.file(remotepath, 'wb') File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 221, in open t, msg = self._request(CMD_OPEN, filename, imode, attrblock) File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 572, in _request return self._read_response(num) File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 619, in _read_response self._convert_status(msg) File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 649, in _convert_status raise IOError(text) IOError: Failure ``` How do I overcome this?