Linux команди и умения за командни обвивки
sftp: Прехвърляне на файлове при SSH бюджет
sftp се движи в рамките на SSH, което е точно причината да надживее своите връстници: ключове, chroots, хостове за прескачане и одитната пътека се предоставят безплатно. OpenSSH тихо премести scp към SFTP протокола във версия 9.0, тъй като SFTP играе ролята на истински протокол: списък с директории, mkdir, разрешения, преименувания и много по-малко изненади на протокола. Интерактивният sftp е подходящ за еднократни ходове; автоматизацията преминава през пакетен режим, изходни кодове и случайни извинения към rsync.
Ключови точки
- Автоматизацията е пакетен режим: sftp -b batch.txt user@host изпълнява файл с команди, излиза от различна от нула при всяка грешка и чете от stdin с -b -; необслужваните подкани за парола са пакетният режим на грешки премахва два пъти по-бързо, отколкото добавя безопасност.
- Наборът от команди е малък нарочно: ls -l, mkdir, put -p (запазване на времеви марки), get -r (рекурсивно), chmod и df -h вътре в сесията покриват 95% от оперативните нужди.
- Знайте кога rsync печели: sftp изпраща отново цели файлове, докато rsync -avz --partial над ssh премества делта, не изрязва нищо безшумно и запазва груповите архиви на метаданни, които всъщност са важни.
- От страна на сървъра, sftp е ограда: ForceCommand internal-sftp вътре в блок за съвпадение с ChrootDirectory превръща акаунт в криптирана, одитирана падаща кутия без никаква обвивка.
- „sftp работи, shell не“ е дизайнът, а не грешка: линията Subsystem sftp internal-sftp е това, което го позволява, а преминаването на scp към SFTP в OpenSSH 9.0 означава, че наследените сървъри без подсистемата могат да прекъсват стари scp задания.
- Използването на Cron се преценява по поведението при повреда: -o BatchMode=yes, -o ConnectTimeout=10 и изрична проверка на изходен код превръща безшумните увисвания в силни грешки с възможност за страница.
- Изходът на напредъка е контрол на шума: sftp е разговорлив, cron регистрационните файлове са тихи; -q (или пренасочвания) плюс регистриране от страна на sshd ви дава одитна пътека, която не се превръща в гигабайти ленти за прехвърляне.
- Единствената правописна грешка, от която се правят кариери: sftp -P 2222 приема главно P (малка буква -p означава запазване), докато scp разменя конвенциите за същите букви; когато портът е грешен, първо проверете случая.
Бележка от терен
Задача на cron sftp веднъж висеше шест часа на неочаквана подкана за парола, преди някой да забележи. Всяко скриптирано прехвърляне оттогава получава -b, -o BatchMode=yes и проверка на изходен код, че страниците вместо чакат.
Често задавани въпроси
Наистина ли OpenSSH 9.0 промени scp?
Протоколът, а не повърхността: scp сега премества файлове през SFTP отдолу, така че хостове без sftp подсистема безшумно нарушават наследените scp задания; корекцията е активиране на подсистемата, а не връщане на навиците.
Мога ли изобщо да преместя един файл без sftp?
Да: cat bigfile.bin | ssh user@host 'cat > /tmp/bigfile.bin' е преносимият еднотръбен трансфер; няма резюме, няма метаданни, но работи навсякъде, където работи SSH, което е точно неговият случай на използване.
Sftp по-бавен ли е от scp или rsync?
Понякога: зареждането на протокола за файл и буферирането по подразбиране се показват в групови дървета на директории; измерете връзката си преди оптимизиране и не забравяйте, че rsync обикновено отговаря, когато оплакването е „твърде бавно“.
Как да дам на трети страни качвания без достъп до shell?
Специален акаунт с ChrootDirectory, ForceCommand internal-sftp и поддиректория с възможност за запис; ключове, затвор, таймаут и преглед на журнала са включени, това е поле за пускане, а не покана.
Как Kinetikatech помага с linux команди и умения за командни обвивки
Правили сме това стотици пъти: Командите и скриптовите навици, които решават дали администраторът управлява сървър или се бори с него: търсене, трансформиране, прехвърляне и надзор на текст и процеси с инструментите, които се намират във всяка основна инсталация. С Сигурност на Linux сървъра и Сървърна администрация получавате пълния цикъл: оценяваме, внедряваме, следим непрекъснато и реагираме до 30 минути, когато е нужно.