Hem sftp-server
ve internal-sftp
OpenSSH parçasıdır. sftp-server
bağımsız bir ikilidir. Başka bir işlem (tipik olarak ) yerine, dahili olarak SFTP sunucu kodunu kullanmayı internal-sftp
söyleyen bir yapılandırma anahtar sshd
sözcüğüdür .sshd
sftp-server
İşlevsel açıdan sftp-server
ve internal-sftp
neredeyse aynı. Aynı kaynak kodundan üretilirler.
Temel avantajı, direktifinternal-sftp
ile birlikte kullanıldığında destek dosyaları gerektirmemesidir .ChrootDirectory
sshd_config(5)
Man sayfasından alıntılar :
İçin Subsystem
direktifi :
Komut sftp-server
SFTP dosya transferi alt sistemini uygular.
Alternatif olarak, ad internal-sftp
bir işlem içi SFTP sunucusu uygular. Bu ChrootDirectory
istemcilere farklı bir dosya sistemi kökü zorlamak için kullanarak yapılandırmaları kolaylaştırabilir .
İçin ForceCommand
direktifi :
Komutunun belirtilmesi internal-sftp
, kullanıldığında destek dosyası gerektirmeyen işlem içi SFTP sunucusunun kullanımını zorlar ChrootDirectory
.
İçin ChrootDirectory
direktifi :
ChrootDirectory
Kullanıcının oturumunu desteklemek için gerekli dosyaları ve dizinleri içermelidir. Etkileşimli oturum için bu, en az bir, tipik olarak kabuk gerektirir sh
ve temel /dev
gibi düğümleri null
, zero
, stdin
, stdout
, stderr
, ve tty
cihazlar. SFTP kullanan dosya aktarımı oturumları için, işlem içi sftp sunucusu kullanılıyorsa, ortamın ek bir yapılandırması gerekli değildir, ancak günlüğü kullanan oturumlar /dev/log
bazı işletim sistemlerinde chroot dizininin içinde yer alabilir ( sftp-server
ayrıntılar için).
Bunun bir başka avantajı, internal-sftp
bunun için yeni bir alt işlem yürütmeye gerek olmadığından bir performanstır.
internal-sftp
Tek başına daha (? 2008 yılında OpenSSH 4.9p1) çok daha sonra eklendi sftp-server
ikili, ama şimdi varsayılan olduğunu.
sftp-server
Yeni kurulumlarda kullanmak için hiçbir neden olmadığına inanıyorum .
Gibi görünebilir sshd
otomatik kullanabilirsiniz internal-sftp
o karşılaştığında, sftp-server
işlevsellik aynıdır ve gibi internal-sftp
hatta yukarıdaki avantajları vardır. Ancak farklılıkların olduğu kenar vakaları vardır.
Birkaç örnek:
Yönetici, bazı kullanıcıların giriş yapmasını önlemek için bir giriş kabuğu yapılandırmasına güvenebilir. internal-sftp
Giriş kabuğu artık dahil olmadığından, geçişi kısıtlamaya atlar.
Kullanılması sftp-server
ikili sen gibi bazı kesmek kullanabilirsiniz (tek başına bir süreç olmak üzere) altında SFTP'yi çalışansudo
.
SSH-1 için (eğer hala kimse kullanıyorsa), Subsystem
direktif hiç dahil değildir. SSH-1 kullanan bir SFTP istemcisi, sunucuya açıkça sunucunun hangi ikili dosyayı çalıştırması gerektiğini söyler. Yani eski SSH-1 SFTP istemcilerinin sftp-server
adı kodlanmış.
ForceCommand internal-sftp
aynı elde etmeli