title: "Failed to load HostKeys" warning while connecting to SFTP server with pysftp
body: <p>I wrote a Python script to connect to SFTP server using key authentication. It connects to server successfully but shows the following warning (see below). What does it mean and how to remove it. What changes has to made in code?</p>
  
  <p>My code:</p>
  
  <pre><code>import os
  import pysftp
  import socket
  import paramiko
  import time
  import os.path
  import shutil
  
  IP = "127.0.X.X"
  myUsername = "USERNAME"
  port = 22
  
  cnopts = pysftp.CnOpts()
  cnopts.hostkeys = None
  
  import os
  privatekeyfile = os.path.expanduser("C:\\Users\\Rohan\\.ssh\\cool.prv")
  mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile)
  
  try:
      with pysftp.Connection(host=IP, username=myUsername,private_key=mykey,cnopts=cnopts) as sftp:
          try:
              r=str(socket.gethostbyaddr(IP))
              print("connection successful with "+r)
  
          except socket.herror:
              print("Unknown host")
  except:
      print("connection failed")
  </code></pre>
  
  <p>Warning:</p>
  
  <pre class="lang-none prettyprint-override"><code>UserWarning: Failed to load HostKeys from C:\Users\Rohan\.ssh\known_hosts.  You will need to explicitly load HostKeys (cnopts.hostkeys.load(filename)) or disableHostKey checking (cnopts.hostkeys = None).
    warnings.warn(wmsg, UserWarning)
  </code></pre>