Alınmayın ama uzak bir sistemden dosya alışverişi yapmak için hala aynı eski standart FTP’yi (Dosya Aktarım Protokolü) mü kullanıyorsunuz?
FTP geleli beş on yıl oldu, şimdi hızdan ödün vermeden iyi güvenlik algoritmaları ile daha uygun bir alternatifimiz var.
SFTP eşanlamlıları (Güvenli Dosya Aktarım Protokolü), piyasadaki en kabul edilebilir uygulamalar arasındadır ve dosyanızı uzaktan değiştirmek için güvenli bir bağlantı sağlar. Güvenliği ile tanınan ve aynı protokolü ve bağlantı noktasını kullanan SSH protokolünün üzerinde çalışır.
İşletim sistemlerinde birçok Arayüz aracı ve uygulaması mevcut olmasına rağmen, bugün bunu klasik Komut yöntemini kullanarak göstereceğiz.
Kurulum
SFTP’yi kullanmaya başlamak için hem yerel hem de uzak sistemlerde ssh kurmanız gerekir. Her iki sistemde de SSH kurulu değilse aşağıdaki referans bağlantısını kullanın.
Şimdi çalışıp çalışmadığını kontrol etmek için aşağıdaki komutu yürütün.
$ sftp
usage: sftp [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
[-D sftp_server_path] [-F ssh_config] [-i identity_file]
[-J destination] [-l limit] [-o ssh_option] [-P port]
[-R num_requests] [-S program] [-s subsystem | sftp_server]
destination
SFTP ile Nasıl Bağlanılır
Bağlantıyı kurmak için ssh’nin uzak sistemlerde arka plan hizmeti olarak çalıştığından emin olun. Bundan sonra, lütfen uzak sistem kullanıcı adını ve ana bilgisayar IP’sini veya etki alanı adını not edin.
Bir kullanıcı adı ve IP/Etki Alanı aldıktan sonra, uzak sisteme bağlanmak için yerel sistemde aşağıdaki komutu kullanın.
$ sftp [email protected]
The authenticity of host '192.168.0.106 (192.168.0.106)' can't be established.
ED25519 key fingerprint is SHA256:N1/BpC453dvqVhXCJ0FCZIQfiXIdHkLd6oq361jcCPs.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Yukarıdaki kullanıcı adını ve ana bilgisayarı değiştirmeyi unutmayın. Şimdi yerel sistemde ana bilgisayar bilgilerinin kaydedilmesine izin vermek için “evet”e basın.
Uzak bir ssh sunucusunu yapılandırırken varsayılan 22 dışında farklı bir bağlantı noktası kullanarak, aşağıda gösterildiği gibi özel bağlantı noktasını belirtmek için “-P”
bayraklarını kullanın.
$ sftp -P 22 [email protected]
Şimdi, uzaktaki sistemde bir ssh anahtarı (önerilir) kurarsanız, size kullanıcı şifresi sormayacaktır; aksi takdirde, aşağıda gösterildiği gibi, sizden kimlik doğrulaması için uzak sistem kullanıcı şifresini isteyecektir.
Warning: Permanently added '192.168.0.106' (ED25519) to the list of known hosts.
[email protected]'s password:
Uzak sistem için kullanıcı şifrenizi (ör: murhas) girin. Ardından, aşağıda gösterildiği gibi, uzak sunucuyla iletişim kurmak için kimlik doğrulaması yapacak ve “sftp>” terminalini verecektir.
Connected to 192.168.0.106.
sftp>
Uzak Sunucudan Dosya İndirme
Artık uzak sisteme bağlı olduğunuza göre, sunucudan dosya indirmeye başlayabilirsiniz. Dosyaları uzak sistemden yerele aktarmak için, uzak sistemden dosya indirmemize yardımcı olan get komutunu kullanacağız.
Uzak sunucumdaki tüm dosya ve dizinleri aşağıda gösterildiği gibi listelemek için ls komutunu çalıştıralım.
sftp> ls
Desktop Documents Downloads Music Pictures Public Templates Videos to.txt
Şu anda sunucudaki ana dizinimdeyim. Kontrol etmek için PWD
komutunu kullanabilirsiniz.
Aşağıdaki komutu kullanarak uzak sistemden yerel sistemime “to.txt” dosyasını indirelim.
sftp> get to.txt
Fetching /home/murhas/to.txt to to.txt
to.txt
get to.txt
komutu, dosyayı sunucuya bağlanmadan önceki yerel geçerli çalışma dizininize indirecektir.
Dosyaları farklı bir konuma indirmek istiyorsanız, yolu aşağıda gösterildiği gibi belirtin.
sftp> get to.txt Documents/
Fetching /home/murhas/to.txt to Documents/to.txt
to.txt
Tek dosya yerine, çok sayıda dosya içeren bir dizini indiriyorsanız. Ardından, aşağıda gösterildiği gibi get
komutuyla birlikte "-r"
bayrağını kullanabilirsiniz.
sftp> get -r Pictures/
Fetching /home/murhas/Pictures/ to Pictures
Retrieving /home/murhas/Pictures
Screenshot.png
Yerel Dosyaları Uzak Sisteme Aktarma
Yerel sistemden uzak sisteme herhangi bir dosya yüklemek için put
komutunu kullanmanız gerekir. Put
‘un çalışması, küçük bir farkla komut almak
için çok benzer.
Put
komutunda, yerel dosyanın yolunu belirtmeniz ve ardından aşağıda gösterildiği gibi sunucuya yüklemeniz gerekir.
sftp> put file.txt
Uploading file.txt to /home/murhas/file.txt
file.txt 100% 0 0.0KB/s 00:00
sftp> ls
Desktop Documents Downloads Music Pictures Public Templates Videos file.txt image.jpg to.txt
Yukarıda, uzak ana dizine yüklenen “file.txt” dosyasını görebilirsiniz. Uzak sunucuda herhangi bir hedef belirlemezseniz, dosyayı çoğunlukla ana dizine yükler.
Aşağıda gösterildiği gibi, yükleme yolunu değiştirmek için yerel dosya yolundan sonra belirtin.
sftp> put file.txt Documents/
Uploading file.txt to /home/murhas/Documents/file.txt
file.txt 100% 0 0.0KB/s 00:00
sftp> ls Documents/
Documents/file.txt
Bir klasör yüklüyorsanız, aşağıda gösterildiği gibi yerelden uzak sunucuya dizini yüklemek için özyinelemeli için “-r”
bayraklarını kullanın.
sftp> put -r dir
Uploading dir/ to /home/murhas/dir
Entering dir/
file.txt 100% 0 0.0KB/s 00:00
sftp> ls
Desktop Documents Downloads Music Pictures Public Templates Videos dir file.txt image.jpg
to.txt