1
votes

I am executing a Python script on my Linux server that uses pysftp to connect to another server in order to read files that are sitting in a directory of that remote server. When I run the script, it fails out while connecting to the remote server and creates a text file with the title: 'This service allows sftp connections only.'

This file is created inside my project directory. Below is the part of my code that is failing:

def sftp_get_file(sftp_host, sftp_username):
    with pysftp.Connection(sftp_host, sftp_username) as sftp:
        # transfer file from remote to local
        sftp.get(remote_file, local_file)

Code is very simple and works when I've tested it using my local server as the remote server. When I tested it in the new environment by actually depending on SFTP, then it failed. Any suggestions? Is pysftp using SSH at some point when it should be using only SFTP?

1

1 Answers

1
votes

Turns out the problem was due to me performing sftp.execute('ls') a couple lines down in the script. The server I was remoting onto only supported sftp commands and that command was forbidden.