(Solved) How to Setup SFTP Server within 50 Seconds ๐Ÿ˜Š | Docker SFTP Server | VSFTPD Server

 

๐Ÿ’ป Unlock the power of SFTP with this Ubuntu image, perfect for testing and development! ๐Ÿ› ️

๐Ÿšจ Please note: This image is designed for educational and testing purposes ๐Ÿ“š ๐Ÿงช ONLY! It is NOT SUITABLE for production environments! ๐Ÿšซ

This Docker image is built on Ubuntu 22.04 and comes pre-installed with an SSH server, enabling seamless creation of SSH/SFTP-accessible containers. You can effortlessly configure access using SSH keys or by utilizing a default username and password.

๐ŸŽฌ Video Demonstration

Watch on Youtube

Step 1: Create Authentication SSH-Keygen Keys.

ssh-keygen -t rsa -f ~/.ssh/sftp_id_rsa_key -b 4096 -C "This is used for sftp" -N ""
ls -alsh ~/.ssh/

Step 2: Pull docker image

docker pull ibraransaridocker/sftp-server-docker:latest

Step 3: Set variables to run the docker container.

Change ๐Ÿ‘‡ variables(containername, username, password & port) according to your need.

container_name=sftp_server_1
sftp_user=ibrar_ansari
sftp_pass=your_secure_password
sftp_port=2023
container_image=ibraransaridocker/sftp-server-docker:latest
key_path=~/.ssh/sftp_id_rsa_key.pub
mount_path=/ansari

Step 4: Run docker container.

docker run -itd --name=$container_name -p $sftp_port:22 -e SSH_USERNAME=$sftp_user -e PASSWORD=$sftp_pass -e AUTHORIZED_KEYS="$(cat $key_path)" -v $mount_path:/home/$ssh_user/$mount_path $container_image

Note:- Mounted path will be available under /home/{your_user}/mount_path.

Step 5: Test SSH connection

Get Node IP:

hostname=$(hostname -I | awk '{print $1}')

Pem Key Method:

ssh -i ~/.ssh/sftp_id_rsa_key -p $sftp_port $sftp_user@$hostname

Password Method:

ssh -p $sftp_port $sftp_user@$hostname

Step 6: Test SFTP Connection

Test SFTP connection with password method:

sftp <SFTP_USER>@<HOST_IP> -P <PORT>

Test SFTP connection with key method:

sftp -P <PORT> -i <PRIVATE_KEY_PATH> <SFTP_USER>@<HOST_IP> 

# If the -i option is not available, you can use the -o option with a syntax like::

sftp -P <PORT> -oIdentityFile=<PRIVATE_KEY_PATH> <SFTP_USER>@<HOST_IP> 

Connection file method:

# Create file and assign private key to connect sftp
nano ~/.ssh/config.sftp
Host work
	Host <HOST_IP>
	User <SFTP_USER>
	IdentityFile <PRIVATE_KEY_PATH>
	AddKeysToAgent yes
	Port <PORT>

# Connect it
sftp -F <PRIVATE_KEY_PATH> <HOST_IP>

Using FileZilla

Host: sftp://<Your_Host_IP>
Username: Value of sftp_user variable.
Password: Value of sftp_pass variable. 
Port: Value of sftp_port variable. 

Note:- Mounted path will be available under /home/{your_user}/mount_path.

๐Ÿ’ผ Connect with me ๐Ÿ‘‡๐Ÿ‘‡ ๐Ÿ˜Š

SHARE

Ibrar Ansari

  • Image
  • Image
  • Image
  • Image
  • Image
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment