SFTP (Güvenli Dosya Aktarım Protokolü), dosyaları uzak sistemler arasında güvenli bir şekilde aktarmak için tasarlanmış SSH protokolünün bir parçasıdır. Kullanıcıların uzak sistemlerde dosya ve dizin izinlerini görüntülemesine, yönetmesine ve değiştirmesine olanak tanır.
Bu öğreticide, her biri için açıklamalar, seçenekler ve örnekler sunarken SFTP ile kullanabileceğiniz komutların üzerinden geçeceğiz.
Önkoşullar
- Bir SSH ortak anahtar çifti kullanılarak bağlanan yerel bir sisteme ve uzak sunucuya erişim.
- Çalışan bir internet bağlantısı.
- Terminal penceresine erişim.
SFTP Komutları ve Seçenekler Listesi
SFTP, kullanıcıların uzak bir SFTP sunucusu ile yerel bir istemci sistemi arasında veri aktarımı yapmasına olanak tanır. SFTP, ortak bir SSH anahtarını paylaşan iki sistemi birbirine bağlamak için SSH ağ protokolünü kullanır.
SFTP sunucusuna bağlanmak, SFTP kabuk arayüzünü açar. SFTP kabuk arabirimi aşağıdaki komutları destekler:
Emretmek | Tanım |
cd [path] |
Uzak sunucudaki dizini şu şekilde değiştirin: [path] . |
lcd [path] |
Yerel sistemdeki dizini şu şekilde değiştirin: [path] . |
chgrp [group ID] [path] |
Grup sahipliğini şu şekilde değiştir: [group ID] bulunan dosya veya klasör için [path] . |
chmod [mode] [path] |
Sahipliği şu şekilde değiştir: [mode] bulunan dosya veya klasör için [path] . |
chown [user ID] [path] |
Kullanıcı sahipliğini şu şekilde değiştir: [user ID] bulunan dosya veya klasör için [path] . |
help |
Yardım metnini görüntüleyin. |
get [remote path] [local path] |
Şuradan bir dosya veya dizini aktarın: [remote path] için uzak sunucuda [local path] yerel sistem üzerinde. |
lls [options] [path] |
Şu adreste bulunan dizinin listesini görüntüleyin: [path] yerel sistem üzerinde. kullanır ls komut seçenekleri. |
ln [old path] [new path] |
Şuradan bir sembolik bağlantı oluştur: [old path] ile [new path] uzak sunucuda. |
lmkdir [path] |
adresinde bir dizin oluşturun [path] yerel sistem üzerinde. |
lpwd |
Geçerli yerel dizini görüntüleyin. |
ls [options] [path] |
Şu adreste bulunan dizinin listesini görüntüleyin: [path] uzak sunucuda. kullanır ls komut seçenekleri. |
lumask [mask] |
Yerel izin maskesini şu şekilde ayarla: [mask] . |
mkdir [path] |
adresinde bir dizin oluşturun [path] uzak sunucuda. |
put [local path] [remote path] |
Şuradan bir dosya veya dizini aktarın: [local path] için yerel sistemde [remote path] uzak sunucuda. |
pwd |
Geçerli uzak dizini görüntüleyin. |
exit |
SFTP arayüzünden çıkın. |
quit |
SFTP arayüzünden çıkın. |
rename [old path] [new path] |
Uzak sunucudaki bir dosyayı şuradan yeniden adlandırın: [old path] ile [new path] . |
rmdir [path] |
bulunan bir dizini kaldırın [path] uzak sunucuda. |
rm [path] |
bulunan bir dosyayı kaldırın [path] uzak sunucuda. |
symlink [old path] [new path] |
Şuradan bir sembolik bağlantı oluştur: [old path] ile [new path] uzak sunucuda. |
version |
SFTP’nin geçerli sürümünü görüntüleyin |
![command] |
Uygulamak <strong>[command]</strong> yerel kabukta. |
! |
Geçici olarak yerel kabuğa geçin. |
? |
Yardım metnini görüntüleyin. |
SFTP’ye bağlanma
SFTP’ye bağlanmak, SSH ile uzak bir sisteme bağlanmakla aynı sözdizimini kullanır:
sftp [username]@[remote hostname or IP address]
Örneğin, bir sunucuya bağlanmak Anka kuşu uykusu IP adresinde kullanıcı adı 192.168.100.7:
sftp phoenixnapFrosty-Selection8062.168.100.7
Bağlantı başarılı olursa kabuk, ile gösterilen SFTP arayüzüne geçer. sftp>
mevcut kullanıcı adı yerine:
SFTP ile uzak bir sisteme bağlanırken aşağıdaki seçenekleri kullanın. sftp
davranışını değiştirme komutu:
Seçenek | Tanım |
-1 |
Bağlanırken SSH protokolünün 1. sürümünü kullanın. |
-4 |
Yalnızca IPv4 adreslerini kullanın. |
-6 |
Yalnızca IPv6 adreslerini kullanın. |
-A |
SSH kimlik doğrulama aracısının uzak sunucuya iletilmesine izin verir. |
-a |
Kesilen dosya aktarımlarına devam etmeye çalışın. |
-B [buffer size] |
Özel bir arabellek boyutu ayarlayın (varsayılan değer 32.768 bayttır). |
-b [batch file] |
başlatmak için bir toplu iş dosyası belirtin. sftp toplu iş modunda komut. |
-C |
Dosya sıkıştırmayı kullanın. |
-c [cipher] |
Aktarım için verileri şifrelerken kullanılacak bir şifre seçin. |
-D [SFTP server path] |
SSH kullanmadan yerel bir SFTP sunucusuna bağlanın. |
-F [SSH configuration file] |
Bağlanırken kullanılacak bir SSH yapılandırma dosyası belirtin. |
-f |
Aktarımdan hemen sonra dosyaları diske boşaltın. |
-i [private key file] |
Ortak anahtar kimlik doğrulaması için özel anahtarı içeren bir dosya seçin. |
-J [destination] |
Sağlanan hedef aracılığıyla TCP iletmeyi ayarlayın. |
-l [kbit/s] |
Bağlantı bant genişliği için kbit/s cinsinden bir sınır belirleyin. |
-N |
Sessiz modu devre dışı bırakın. |
-o [SSH option] |
SFTP’ye bağlanırken bir ssh komut seçeneği ekleyin. |
-P [port number] |
Bağlanmak için bir bağlantı noktası ayarlayın. |
-p |
Aktarım sırasında dosya izinlerini ve erişim sürelerini koruyun. |
-q |
Sessiz modu etkinleştirin. |
-R [number of requests] |
İzin verilen eşzamanlı dosya aktarım isteklerinin sayısını ayarlayın. |
-r |
Dizinleri yinelemeli olarak aktarın. |
-S [client] |
Bağlanmak için kullanmak istediğiniz bir SFTP istemcisi belirtin. |
-s [SSH subsystem or SFTP server path] |
Bir SSH2 alt sistemi veya SFTP sunucu yolu seçin. |
-v |
Ayrıntılı bir oturum günlüğü tutun. |
Kullan exit
mevcut bağlantıyı sonlandırmak için komut:
exit
Not: SSH’nin nasıl çalıştığı hakkında bilmeniz gereken her şeyi SSH Nasıl Çalışır? makalemizde öğrenin.
Dosyaları Aktarma
Kullan get
Ve put
SFTP’de bir dosya aktarım isteği oluşturmak için komutlar. bu get
komutu, dosyaları uzak bir sunucudan yerel sisteme aktarırken, put
komut bunun tersini yapar.
bu get
komutu aşağıdaki temel sözdizimini kullanır:
get [path to file]
Kullanmak get
komutu, bir dosyayı uzak sunucudan yerel sistemin Ev dizin. Örneğin:
get example01.txt
Öte yandan, kullanarak put
komutu, bir dosyayı yerel sistemden uzak sunucunun Ev dizin:
put example02.txt
Dosyayı farklı bir dizine aktarmak için dizinin adını dizinin sonuna ekleyin. get
veya put
emretmek:
get [path to file] [path to directory]
put [path to file] [path to directory]
Yerel sistemdeki dosyanın adını değiştirmek için, yeni dosya adını komutun sonuna ekleyin:
get [path to file] [new file name]
put [path to file] [new file name]
bu get
Ve put
komutlar aşağıdaki seçenekleri kullanır:
Seçenek | Tanım |
-a |
Bir dosya aktarımını sürdürmeyi deneyin. |
-f |
Aktarımdan hemen sonra dosyayı diske boşaltın. |
-p |
Aktarım sırasında dosya izinlerini ve erişim sürelerini koruyun. |
-R |
Tüm bir dizini yinelemeli olarak aktarın. Bu seçeneği kullanırken, bir dosya yolu yerine bir dizine giden yolu tanımlayın. |
Dosya İzinlerini Değiştirme
SFTP, uzak sunucudaki dosya ve dizin izinlerini değiştirmenize de olanak tanır. bu chown
komut, bireysel kullanıcılar için dosya sahipliğini değiştirir:
chown [user ID] [path to file]
aksine chown
bir kullanıcı kimliği gerektiren komut, chmod komutu standart kabuktakiyle aynı şekilde çalışır:
chmod [permission] [path to file]
Başka bir seçenek de kullanmaktır. chgrp
bir dosyanın grup sahipliğini değiştirme komutu:
chgrp [group ID] [path to file]
SFTP ayrıca, yerel sisteme aktarılan tüm gelecekteki dosyalar için varsayılan izni değiştirerek yerel bir umask oluşturmanıza olanak tanır. Kullan lumask
yeni bir yerel umask kurma komutu:
lumask [permission mask]
Dosyaları ve Dizinleri Yönetme
SFTP, kullanıcıların hem yerel sistemdeki hem de uzak sunucudaki dosyaları incelemesine ve yönetmesine olanak tanıyan seçenekler sunar. bu ls
komutu, uzak sunucudaki dosyaları ve dizinleri listelemenizi sağlar. Örneğin:
ls -l
Benzer şekilde, lls
(yerel ls
) komutu, yerel sistemdeki dosyaları ve dizinleri listeler:
lls -l
Not: İkisi de ls
Ve lls
SFTP kullanım standardındaki komut ls
komut seçenekleri. Linux ls komutuyla ilgili kılavuzumuzda daha fazla bilgi edinin.
bu cd
Ve lcd
komutlar, sırasıyla uzak sunucu veya yerel sistemdeki geçerli çalışma dizinini değiştirir:
cd [path to directory on the remote server]
lcd [path to directory on the local system]
mkdir komutunu kullanmak, sağladığınız yolla uzak sunucuda bir dizin oluşturur:
mkdir [path to the new directory on the remote server]
Örneğin, oluşturma Örnek_Dizini içinde Ev dizin:
mkdir Example_Directory
bu mkdir
komutunun çıktısı yoktur, bu nedenle kullanmanız gerekir ls
sonucu doğrulamak için komut:
Buna benzer olarak, lmkdir
komutu yerel sistemde bir dizin oluşturur:
lmkdir [path to the new directory on the local system]
Aynı örneği kullanarak:
lmkdir Example_Directory
bu rename
komutu, uzak sunucudaki bir dosyanın veya dizinin adını değiştirir:
rename [old path] [new path]
Örneğin, yeniden adlandırma örnek01.txt ile örnekdoc.txt:
rename example01.txt sampledoc.txt
Kullanmak rm
komut bir dosyayı uzak sunucudan kaldırır:
rm [path to file]
Örneğin, kaldırma örnekdoc.txt dosya:
rm sampledoc.txt
Benzer şekilde, rmdir
komutu uzak sunucudan bir dizini kaldırır:
rmdir [path to directory]
Örneğin, kaldırma Örnek_Dizini:
rmdir Example_Directory
bu ln
Ve symlink
komutlar, uzak sunucudaki bir dosyaya veya dizine sembolik bir bağlantı oluşturur:
ln [old path] [new path]
symlink [old path] [new path]
Örneğin, bir bağlantı oluşturmak örnek02.txt adlı örnek_bağlantı kullanmak ln
emretmek:
ln example02.txt example_link
bu pwd
komutu çıktı olarak uzak sunucudaki geçerli çalışma dizinini gösterir:
pwd
Öte yandan, lpwd
komutu, yerel sistemdeki geçerli çalışma dizinini gösteren bir çıktı oluşturur:
lpwd
Yerel Kabuk Komutlarını Çalıştırma
SFTP, bir ünlem işareti () ekleyerek yerel kabuğu kullanarak bir komut çalıştırmanıza izin verir.!) komutundan önce. Bu, kullanıcıların yerel sistemde standart SFTP kabuğunun parçası olmayan komutları çalıştırmasına olanak tanır.
Örneğin, SFTP şu özellikleri desteklemez: tree
Linux’ta komut. Yerel kabuğu kullanarak, bu komutu SFTP arabiriminde çalıştırabilirsiniz:
!tree
Ünlem işareti kullanılarak (!) komut olmadan kullanıcıyı geçici olarak yerel kabuğa taşır. SFTP kabuğuna geri dönmek için şunu kullanın: exit
emretmek.
Diğer Komutlar
Kullanmak help
veya ?
komutları, SFTP arabirimi için yardım metnini görüntüler. Yardım, SFTP kabuğunda bulunan komutların bir listesini sağlar.
bu version
komutu, yüklü SFTP protokolünün geçerli sürümünü görüntüler:
SFTP Hile Sayfası PDF
Aşağıda, yukarıda belirtilen tüm SFTP komutlarını ve seçeneklerini içeren tek sayfalık bir referans sayfası bulabilirsiniz. Aşağıdaki bağlantıya tıklayarak PDF dosyası olarak kaydedin.
SFTP Hile Sayfasını İNDİRİN
Çözüm
Bu öğreticiyi okuduktan sonra, SFTP komutları ve seçenekleri hakkında sağlam bir anlayışa sahip olmalısınız. SFTP ile uzak bir sunucuya bağlanabilmeniz ve dosyaları aktarmak, dosya ve dizinleri yönetmek ve dosya izinlerini değiştirmek için komutları kullanabilmeniz gerekir.