title: 'put' in SFTP using Paramiko
body: <p>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 <code>ls</code> commands on it.</p>
  
  <pre><code>#set username &amp; 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()
  </code></pre>
  
  <p>Using a 'put' command gives the following error &amp; stack trace - </p>
  
  <pre><code>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
  </code></pre>
  
  <p>How do I overcome this?</p>