sftp etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
sftp etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

27 Nisan 2018 Cuma

Sftp Sunucusu Kurulumu-CENTOS

  Sftp, ssh kullanarak dosya transferi yapan bir dosya aktarım protokolüdür. Sftp ssh'ın sağladığı güvenlik özelliklerini kullanmış olur. Nerdeyse tüm linux dağıtımlarda stfp istemcisi ön tanımlı olarak gelir. Bunun için ayrıca sftp kurulumu yapmanıza gerek olmaz.
Şimdi aşağıdaki kod ile sistemimizde gerekli dosyaların olup olmadığını kontrol edelim.

$ rpm -qa|grep ssh

libssh2-1.4.3-10.el7_2.1.x86_64
openssh-7.4p1-13.el7_4.x86_64
openssh-server-7.4p1-13.el7_4.x86_64
openssh-clients-7.4p1-13.el7_4.x86_64


Daha sonra sftp dosyalarını yükleyip indirmek için kullanıcağımız dizini oluşturalım. Bu dizini istediğiniz dizin altına oluşturabilirsiniz. Ben  home dizini altına oluşturmayı tercih ettim.

$ mkdir /home/sftp
$ cd /home
$ chmod 701 sftp

sftp dizininin iznini 701 yapıyoruz.
Bir sftp kullanıcıları için grup oluşturuyoruz.

$ groupadd sftpusers

Daha sonra kullanıcıyı oluşturuyoruz:

$ useradd -g sftpusers -d /upload -s /sbin/nologin mysftpuser

* -d komutu  ile daha sonra /upload klasörünün /home/sftp/upload altında olacağı anlamına gelir.

$ passwd mysftpuser

Upload dizinini oluşturup sahiplik ayarlarını yapıyoruz:

$ mkdir -p /home/sftp/upload
$ chown -R root:sftpusers /home/sftp
$ chown -R mysftpuser:sftpusers /home/sftp/upload



Daha sonra /etc/ssh/sshd_config yapılandırma dosyasına aşağıdaki satırları ekliyoruz:

Match Group sftpusers
ChrootDirectory /home/sftp/%u
ForceCommand internal-sftp


*sftpusers grubundaki kullanıcıların sadece sftp bağlantısı sağlayabilmesini ve sadece home/sftp altına erişimi olmasına izin verdik.

Son olarakta sshd servisini yeniden başlatıyoruz.
$ service sshd restart 

 

10 Şubat 2018 Cumartesi

SFTP & TFTP

SFTP 

  Sftp, ssh kullanarak dosya transferi yapan bir dosya aktarım protokolüdür. Sftp ssh'ın sağladığı güvenlik özelliklerini kullanmış olur. Nerdeyse tüm linux dağıtımlarda stfp istemcisi ön tanımlı olarak gelir.

Sftp bağlantısını kurarken aynı ssh komutu gibi kullanıyoruz:
  "$ sftp kullanıcı_adı@sftpserverip"

Eğer varsayılan port dışında bir port kullanılıyorsa, port numarasını -P parametresi ile birlikte vererek bağlantı sağlayabilirsiniz.

? işareti ile sftp için kullanabilceğimiz komutları ve ne işe yaradıklarını görebiliriz.



Sftp sunucusundan istemciye dosya almak için get , göndermek için put komutunu kullanıyoruz.
ls komutu ile sftp sunucusunda olduğumuz dizini listeleyebiliriz.
lls komutu ile de sftp istemcisinde olduğumuz dizini listeleriz.
Yukarıdaki resimde kullanabilceğimiz komutları görebilirsiniz.


TFTP

  Tftp protokolü de dosya transferi için kullanılan basit bir protokoldur. 69.port üzerinden genellikle udp kullanılarak uygulanır. Kullanımı sırasında az bellek kullandığı için genelde yönlendirici bilgisayarların önyüklemesinde kullanılır.

 Tftp'de kullanıcı kimlik dogrulaması için bir kural yoktur. Tftp dosya transferi yaparken okur ve yazar. Okuma ve yazma işlemi ile transfer başlar. Tftp transfer işlemi tftp sunucunun izin verdiği dizinde gerçekleşir.

Tftp sunucusu kurulumu için şu komutu kullanıyoruz:

$ sudo apt-get install tftpd-hpa

Tftp yapılandırmasını /etc/default/tftpd-hpa dosyasından yapıyoruz. Dosya içeriği şu şekildedir:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

tftp_directory seçeneği ile istemcinin hangi dizin altından dosya alıp hangi dizin altına dosya göndereceğini belirliyorsunuz. Fakat burda önemli bir konu dizin izinleridir.

Bu yapılandırmaya göre kullanacağınız dizinin izinini 777 yapmalısınız.
 $ sudo chmod -R 777 /srv/tftp

tftp-options ayarına eğer "--secure --create" seçeneğini eklemezseniz istemci /srv/tftp altında bulunmayan bir dosyayı bu dizine gönderme işlemi yapamaz. Sadece varolan dosyaların üstüne yazma işlemi yapabilir.

Tftp istemci kurulumu için:

$ sudo apt-get install tftp

Tftp bağlantısı için isterseniz alttaki ilk komutu kullanabileceğiniz gibi ikinci komut dizisini de kullanabilirsiniz.

  • $ tftp *.*.*.*(tftp sunucu ip)

$ tftp
$ connect  "ip"

  Tftp ile listeleme işlemi yapamıyorsunuz. Tftp de okuma ve yazma istegi ile transfer başladığı için aslında connect dediğimizde sunucuya bağlanma gibi bir işlem yapmış olmuyoruz. Hatta sunucunun 69. portundan cevap alıp alamayacağımızı get put işlemlerine kadar bilmiyoruz.

****put işlemini yaparken tftp sunucusuna koyacağınız dosyanında izni 777 olmalıdır. Ayrıca put işlemi yaparken göndermek istediğiniz dosya hangi dizinde ise o dizine gidip tftp bağlantısını o dizinde gerçekleştirmelisiniz.

  Sftp de olduğu gibi ? ile hangi komutları kullanabiliceğimizi ve ne işe yaradıklarını görebiliyoruz.