SFTP stands for Secure File Transfer Protocol. It’s a way using which you can easily and securely transfer files over any reliable data stream.
Imagine you have a file on your computer that you want to send to someone else. Instead of using regular email or other unsecure methods, you can use SFTP to make sure the file is protected during the transfer.
In Python, you can use paramiko.SFTPClient to easily upload files to a server through SFTP protocol.
Use paramiko.SFTPClient for SFTP
#Create a Transport object host = "temp.wftpserver.com" port = 2222 transport = paramiko.Transport((host, port)) #Connect to a Transport server password = "temp-user" username = "temp-user" transport.connect(username = username, password = password) #Create an SFTP client sftp = paramiko.SFTPClient.from_transport(transport) #Upload file to server path = "/upload/source.py" localpath = "source.py" sftp.put(localpath, path) #close the connections sftp.close() transport.close()
Here, we called
paramiko.Transport((host, port)) to create a new
Transport client for the endpoint
After doing so, we call
paramiko.Transport.connect(username = username, password = password), with
paramiko.Transport as the previously created
Transport object to connect the client to the endpoint with a
Then, we use
paramiko.SFTPClient.from_transport(transport) to create a
SFTPClient from the
transport client used in the previous steps.
To upload the local file at
localpath to the target path i.e.
targetpath, we call
paramiko.SFTPClient.put(localpath, targetpath) from the same
At the end, we call
paramiko.Transport.close() methods to close the
So, this is the way following which you can upload a file to target host server through SFTP in Python.