SFTP Server Kurulumu
24.05.2009 05:22
Unix tabanlı işletim sistemlerinde genellikle SSH kurulu olur. Ancak, Windows sistemlerini SFTP server olarak kullanabilmek için sonradan kurulum yapmamız gerekmektedir. Bunun için “Open SSH for Windows” isimli özgür yazılımdan yararlanılabilir. [1]
OpenSSH, bir Windows Service olarak çalışır. SFTP işlemini gerçekleştirecek kullanıcı hesapları için Windows’un yerel yada etki alanı kullanıcılarına ihtiyaç duyar. Bunun anlamı, standart FTP Server programlarında olduğu gibi bir FTP hesabı açmak yerine önce Windows’ta bir kullanıcı hesabı oluşturulur ve bu hesap OpenSSH ile ilişkilendirilir.
1.1. Open SSH Konfigirasyonu
OpenSSH’ın web sitesinden son versiyonu indirip kurun. [2]
Önemli : OpenSSH’ın doğru çalışabilmesi için kurulumdan sonra grup ve parola dosyalarının oluşturulması gerekmektedir. Bunun için gerekli komut dosyalarının varsayılan yolu : “c:\program files\openssh\bin”.
1. Önce bir grup dosyası oluşturulması gerekir. Bunun için; Command Prompt’u açıp aşağıdaki komut çalıştırılır.
C:\program files\openssh\bin \mkgroup.exe -l >> ..\etc\group
Bu, İşletim sistemindeki kullanıcı gruplarıyla ilişkili bir dosya oluşturur.
2. İkinci işlemimiz bir parola dosyası oluşturmak. Bunun içinde aşağıdaki komutu çalıştırmalıyız.
C:\program files\openssh\bin \mkpasswd -l -u username >> ..\etc\passwd
Bu komutta username yerine SFTP Server için kullanacağımız bir yerel kullanıcı hesabının adı yazılması gerekmektedir.
3. Windows Services’tan OpenSSH isimli Windows servisi başlattığımızda Windows işletim sistemimiz bir SFTP hizmeti vermeye hazır halde olacaktır.
1.2. İnce Ayarlar
Yukarıdaki yönergeleri uyguladığımızda Bir SFTP istemci programı ile SFTP protokolünü kullanarak dosya alış verişi yapabiliriz. Ancak, SFTP işleminde kullanılan hesap bir Windows yerel kullanıcı hesabı olduğu için, varsayılan ayarlar ile oluşturulan bir kullanıcı hesabı önemli güvenlik açıkları oluşturacaktır.
Bir Windows yerel kullanıcı hesabı oluşturduğunuzda , kullanıcının ait olduğu varsayılan grup “User” grubudur, varsayılan dosya yolu ise C:\Documents and Settings\username şeklindedir. SFTP istemci programı ile bağlandığınızda da varsayılan dizin bu dizin olacaktır. Ve kullanıcı User gurubuna dahil olduğundan dizinler ve hatta sürücüler arasında gezebilecek, her işlemi gerçekleştirebilecektir.
Bunu önlemek için önce kullanıcıyı User gurubundan çıkarmalı, daha sonra kullanıcının varsayılan dosya yolunun değiştirmeliyiz. Kullanıcı bir dizine hapsetmek için ise NTFS dosya izinlerinden yararlanacağız.
Windows yerel kullanıcısı dizine hapsetmek için ise şu adımlar uygulanmalırıdır.
1. Yerel kullanıcıyı User gurundan çıkarın : Bilgisayarım’a sağ tıklayın, Yönet komutunu verin. Bilgisayar Yönetimi penceresinde bulunan ağaç menüden Yerel kullanıcı ve gruplar’ı açık. Kullacılar’a tıklayın. Yerel kullanıcının üzerine sağ tıklayın. Özelliklere girin. Gruplar sekmesinden User gurubunu kaldırın ve Tamam tuşuna basın.
2. Yerel Windows kullanıcısının varsayılan dosya yolunu değiştirin : Komut satırında aşağıdaki komutu çalıştırın.
C:\> net user username /HOMEDIR:D:\test4sftp
3. Kullanıcıyı dizine hapsedin :
a. Tüm sürücülerde uygulanmak üzere, sürücü’ye sağ tıklayın ve özellikler’e girin. Güvenlik sekmesinde Grup yada kullanıcı adları penceresine ilgili kullanıcıyı ekleyin. İzinler kısmında Tüm haklar için Deny’i işaretleyin.
b. SFTP işlemleri için ayrılan dizine sağ tıklayın ve özellikler’e girin. Güvenlik sekmesinde Grup yada kullanıcı adları penceresine ilgili kullanıcıyı ekleyin. İzinler kısmında Tüm haklar için Allow’u işaretleyin.
Dikkat : Bu işlemleri yaptıktan sonra, İnce Ayarlar isimli bölümdeki bahsi geçen mkgroup ve mkpasswd komutları yeniden çalıştırılmalı ve OpenSSH isimli Windows Service’i yeniden başlatılmalıdır.
Bir SFTP istemci programı ile SFTP hizmeti veren sunucumuza bağlanıp testlerinizi gerçekleştirebilirsiniz. Bunun için FileZilla yada WinSCP gibi özgür yazılımlar kullanabilirsiniz. 22 nolu portu kullanacağınızı unutmayın !
Referanslar
[1] http://sshwindows.sourceforge.net
[2] http://sshwindows.sourceforge.net/download
[3] http://www.chiark.greenend.org.uk/~sgtatham/putty/
[3] http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe
[4] http://the.earth.li/~sgtatham/putty/latest/x86/psftp.exe
Kaynaklar
PuTTY User Manual
(http://www.interix.com/downloads/Configuring_OpenSSH.pdf)
Configuring OpenSSH for passwordless login on the Interix subsystem
( http://the.earth.li/~sgtatham/putty/0.60/htmldoc )
Setting up a SFTP Server on Windows
(http://www.digitalmediaminute.com/article/1487/setting-up-a-sftp-server-on-windows )
Bu yazı 402 kere okundu.



