To connect to an SFTP/SSH server using Python, you can utilize the paramiko
library, which provides an implementation of the SSHv2 protocol and allows you to establish secure connections. Here’s an example of how you can connect to an SFTP server using Python:
import paramiko
def connect_to_sftp(hostname, port, username, password):
# Create an SSH client
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
# Connect to the SSH server
client.connect(hostname, port, username, password)
# Open an SFTP session
sftp = client.open_sftp()
# Perform SFTP operations
# Example: list files in the current directory
files = sftp.listdir()
for file in files:
print(file)
# Close the SFTP session
sftp.close()
finally:
# Close the SSH client
client.close()
# Usage: replace the following variables with your actual SFTP server credentials
hostname = 'your_sftp_hostname'
port = 22 # default SSH port is 22
username = 'your_username'
password = 'your_password'
connect_to_sftp(hostname, port, username, password)
In this example, we create a function called connect_to_sftp
that takes the hostname, port, username, and password as arguments. Inside the function, we create an SSH client using paramiko.SSHClient()
and set the AutoAddPolicy()
to automatically add the server’s host key to the local known_hosts file.
We establish a connection to the SSH server using the connect()
method, passing the hostname, port, username, and password. Then, we open an SFTP session using client.open_sftp()
, and you can perform various SFTP operations using the sftp
object. In this example, we list the files in the current directory using sftp.listdir()
.
Finally, we close the SFTP session with sftp.close()
and the SSH client with client.close()
.
Please make sure to install the paramiko
library before running this code. You can install it using pip:
pip install paramiko
Note: It is highly recommended to use SSH key-based authentication instead of passwords for improved security.
+ There are no comments
Add yours