Windows Server SFTP Kurulumu 

Windows Server SFTP Kurulumu

FTP vs SFTP

FTP (File Transfer Protocol) ve SFTP (Secure File Transfer Protocol) dosya transferi için kullanılan iki farklı protokoldür. Aralarındaki temel fark, SFTP’nin verilerin şifrelenerek iletilmesine izin verirken, FTP’nin bunu yapmamasıdır.

İşte diğer farklılıklar:

  1. Güvenlik: FTP verileri açık metin olarak gönderir, bu nedenle bir saldırgan verileri ele geçirdiğinde, dosyaların içeriğine kolayca erişebilir. SFTP ise verileri şifreler, bu nedenle veriler ele geçirildiğinde bile, şifrelenmiş olduğundan verilere erişmek çok daha zordur.
  2. Bağlantı türleri: FTP, dosyaları transfer etmek için genellikle TCP port 21’i kullanırken, SFTP TCP port 22’yi kullanır. Ayrıca, FTP, verileri açık bir şekilde transfer ettiği için NAT (Network Address Translation) arkasında çalışmaya izin vermez, ancak SFTP bunu yapabilir.
  3. Yapılandırma: FTP birçok farklı sunucu ve istemci tarafından desteklenir ve yapılandırması genellikle basittir. SFTP, özellikle SSH (Secure Shell) kullanarak yapılandırılabilir ve yapılandırması biraz daha karmaşıktır.
  4. Dosya transferi: FTP, dosyaları ASCII veya binary olarak transfer etmek için kullanılabilir. SFTP sadece binary dosyaları transfer edebilir.
  5. Hata ayıklama: FTP, hataları tespit etmek ve çözmek için geliştirilmiş birçok araç ve kaynak sağlar. SFTP, şifreleme nedeniyle daha az hata ayıklama gerektirir.

Sonuç olarak, SFTP, dosya transferi için daha güvenli bir seçenek olarak kabul edilir ve özellikle internet üzerinden yapılan transferler için tercih edilir. Ancak FTP hala popüler bir protokol olarak kullanılıyor ve bazı durumlarda avantajları olabilir.

Install and configure the SFTP server.

OpenSSH özelliğini etkinleştirin. Bunu yapmak için PowerShell konsolunu yönetici başlatın ve aşağıdaki komutu çalıştırın:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Servisini sunucu kapandıgı zaman otomatık olarak baslaması için aşağıdaki komutu yazmamız yeterli olucaktır.
Get-Service -Name “sshd” | Set-Service -Startup “Automatic” -PassThru | Start-Service -PassThru

SSH portunu değiştirmek isterseniz [Opsiyon]

Ben Kendi ortamımda değiştirmeyeceğim.Değiştirmek isterseniz komutlar yeterli olucaktır.

Get-Content “C:\ProgramData\ssh\sshd_config”).replace(“#Port 22”, “Port 4224”) | Set-Content “C:\ProgramData\ssh\sshd_config”
Restart-Service “sshd”
Get-NetTCPConnection -LocalPort 4224| select Local*, State,`
@{n=“ProcessName”;e={(Get-Process -Id $_.OwningProcess).ProcessName}},`
@{n=“ProcessPath”;e={(Get-Process -Id $_.OwningProcess).Path}} | ft -Auto

Bağlantılara İzin ver Reddet

Windows’daki OpenSSH sunucusu ayrıca hangi kullanıcıların veya grupların SFTP (ve SSH) kullanarak sunucuya bağlanmasına izin verileceğini (veya reddedildiğini) kontrol etmenizi sağlar. Bunu yapmak için yapılandırma dosyasına aşağıdaki yönergeleri ekleyebilirsiniz:

  • DenyUsers
  • AllowUsers
  • DenyGroups
  • AllowGroups
AllowGroups testlab\developers testlab\ssh_admins

Defaulta Gelen Klasörü Değiştirme

ChrootDirectory none Bulup
ChrootDirectory F:\FTP olarak değiştirdiğiniz zaman direk bagladıgınızda bu klasör gelicektir.

Herhangi Bir Sorunda Log’lara Bakabilmek için;

OpenSSH sunucusuyla çalışırken herhangi bir sorunla karşılaşırsanız, aşağıdaki ekran görüntüsünde gösterildiği gibi, olay günlüklerini her zaman Uygulamalar ve Hizmet Günlükleri OpenSSH altında görüntüleyebilirsiniz.OpenSSH sunucusu ayrıca dosya tabanlı günlük kaydını da destekler, bu nedenle ilgileniyorsanız, SSH yapılandırma dosyasına aşağıdaki satırları ekleyin ve sshd hizmetini yeniden başlatın.

Winscp ile Bağlantı sağlama