SFTP nedir.? : Secure FTP, yani SFTP, SSH kullanarak dosya transferi yapan bir dosya aktarım protokolüdür. SSH‘ın sağladığı güvenlik özellikleri, FTP‘den farklı olarak SFTP‘yi güvenli hale getirir. FTP‘nin RSA ile güçlendirilmiş halidir.

İlk olarak tabi OpenSSH paketi kurulu olması gerekiyor. Eğer kurulu değilse aşağıdaki komutla kurulum yapabilirsiniz.

sudo apt install openssh-server -y

Ardından ftp kullanıcıları için grup oluşturalım.

sudo addgroup ftpaccess

Crepe

Daha sonra herhangi bir editör yardımıyla “/etc/ssh/sshd_config” dosyasındaki “Subsystem sftp /usr/lib/openssh/sftp-server” satırını başına # koyarak yorum satırına çevirip, ek olarak aşağıdaki satırları dosyanın sonuna ekleyip, kaydedip çıkın.

Crepe

Subsystem sftp internal-sftp
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

Crepe

Şimdi SSH servisini yeniden başlatın

sudo systemctl restart sshd.service

Ardından sunucuya login olamayacak ve ftpaccess gruba dahil bir kullanıcı oluşturalım. Bunu aşağıdaki komutla gerçekleştirebilirsiniz.

sudo useradd -m USERNAME -s /usr/sbin/nologin -G ftpaccess

Şimdi bu kullanıcıya şifre belirleyelim.

sudo passwd USERNAME

/home” dizininde USERNAME için oluşan klasörün sahipliğini root yapalım.

sudo chown root:root /home/USERNAME

Ardından oluşturulan kullanıcının ftp işlemleri yapabilmesi için kullanılacak bir dizin oluşturalım.

sudo mkdir /home/USERNAME/data

Dizini oluşturduktan sonra sahipliğini aşağıdaki gibi değiştirelim.

sudo chown USERNAME:ftpaccess /home/USERNAME/data

Son olarak dışardan sftp bağlantısı deneyerek ister cli, ister gui olarak test edelim. Ben cli kullanacağım, siz remmina, winscp gibi araçlarla gui olarak da test edebilirsiniz.

Crepe