scp iwwer SFTP: remote Pfader schreiwen, déi wierklech opgeléist ginn
Moderne scp transferéiert iwwer SFTP, dofir behuelen Tilde-Erweiderung a Jokerzeechen sech anescht. Schreift explizit Serverpfader a wielt de Protokoll bewosst.
En scp-Befehl, deen iwwer Joeren an engem Skript funktionéiert huet, kann op engem aktuelle Client mat engem Pfadfehler feelen, deen näischt mam Tunnel ze dinn huet. D'VPN huet d'Bytes gedroen; de Client huet de Server no engem Numm gefrot, deen de Server net konnt opléisen. Aktuellen OpenSSH scp transferéiert standardméisseg iwwer SFTP, an SFTP mécht keng Erweiderung am Shell-Stil wéi dee ale Protokoll. Wann Dir de Befehl vun Ärem eegene Kont no bausse verfollegt, gesitt Dir, wou de Pfad wierklech interpretéiert gëtt.
Fänkt mam Kont un, dann mam Verzeechnis, an dat et schreiwe kann
Den Doppelpunkt trennt zwou Nummräim, an nëmmen déi lénks Säit gehéiert zu der Maschinn, op där Dir tippt. Alles duerno léist de Server op, ënner dem Kont, mat deem Dir Iech authentifizéiert hutt, bannent deem Dateisystem-Vue deen dee Kont huet. Bestätegt béid, ier Dir de Befehl zesummesetzt, well e Pfad, dee fir den Administrateur richteg ass, ass net automatesch richteg fir den Transferbenotzer. Dee Ënnerscheed ass d'Quell vun de meeschte Berechtegungsfehler, déi wéi Netzwierkfehler ausgesinn.
Frot de Server no senger eege Vue: ssh [email protected] pwd an ssh [email protected] ls -ld /srv/archive. Wann den zweete Befehl Berechtegung verweigert mellt, ass den Tunnel an der Rei an de Pfad ass fir dee Kont onbrauchbar. Fixéiert d'Eegentum oder wielt en aneren Zil, amplaz Berechtegungen ze erweideren, sou datt den Transfer ka virugoen.
Eng limitéiert SFTP-Konfiguratioun kann e chroot als Wuerzel vum Dateisystem presentéieren. Bannent dëser Vue ass en absolute Pfad absolut bannent dem chroot, wat net déi selwecht Plaz ass wéi den Administrateur um Host gesäit.
Nennt béid Säite vum Doppelpunkt explizit
En Upload sollt den remote Dateinumm uginn, amplaz unzehuelen, datt den lokalen Basisnumm op der anerer Säit akzeptabel wäert sinn.
scp q3-invoice.csv [email protected]:/home/transfer/drop/q3-invoice.csvEn Download sollt den lokalen Zil aus genau demselwe Grond uginn. Déi zwou Nummräim sinn onofhängeg, an e Skript, deen unhëlt, datt se iwwerenee passen, briecht déi éischte Kéier, wann de remote Bam eng aner Anuerdnung benotzt.
scp [email protected]:/srv/archive/2026-q3.csv ./2026-q3.csvVermeit ~otheruser an engem ënnerhalene Skript. D'Erweidere vum Heemverzeechnis vun engem anere Kont war eng Funktioun vun der remote Shell, an en SFTP-Server implementéiert vläicht net d'Erweiderung, déi dat emuléiert. Schreift den absolute Pfad, deen de Kont wierklech kann opmaachen, a setzt lokal Pfader mat Espaceën a Quotes, amplaz Quote-Schichten ze kopéieren, déi fir eng Shell um Server geschriwwe goufen.
Wësst, wéi ee Protokoll Ären scp wierklech benotzt
Zënter OpenSSH 9.0 benotzt de Client standardméisseg SFTP, an Distributiounen iwwerhuelen oder backportéieren dat Verhalen no hirem eege Plang. De Versiounsstring seet, wat de Client virhuet, awer en Händler-Build kann vum Upstream ofwäichen, also kontrolléiert de Client, deen Dir wierklech ausféiert: ssh -V.
Déi zwou Protokoller léisen Nimm anescht op. Den ale SCP freet d'remote Benotzer-Shell, de Pfad ze erweideren, dofir ginn Jokerzeechen an Tilden vun där Shell no hire eegene Regelen behandelt. SFTP gëtt amplaz Dateitransfer-Operatiounen aus, dofir gëtt en Jokerzeechen entweder vum Client erweidert oder guer net. Béid reesen bannent SSH op déiselwecht Maschinn, dofir kann en Host ënner zwee Clients anescht behuelen.
scp -v dréckt de Subsistem aus, deen et ufrot, an eng sftp-Subsistemlinn bestätegt, datt de moderne Pfad benotzt gëtt. scp -O forcéiert den ale Protokoll, wou en ënnerstëtzt an wierklech néideg ass, an et bréngt seng eege Quote-Regelen mat. Et ass keng VPN-Optioun, keen Wee fir eppes um Server ze aktivéieren, a kee Grond fir d'Hostschlësselpréifung ze lockeren.
Test de Pfad, ier d'Skript drop verlooss
E Pfadproblem kënnt zum schlëmmste méigleche Moment eraus, an enger automatiséierter Aufgab nuets, wou keen oppasst. Beweist d'Zil fir d'éischt mat enger klenger Datei an dem genauen Kont, deen d'Aufgab benotzt, a haalt dee Testbefehl nieft der Aufgabdefinitioun. Wann den Test en aneren Kont oder en anert Verzeechnis brauch, brauch d'Aufgab et och.
Kontrolléiert och d'Serversäit. grep -i subsystem /etc/ssh/sshd_config weist, ob en SFTP-Subsistem konfiguréiert ass, an sftp -b /dev/null [email protected] endet nëmmen dann erfollegräich, wann dee Subsistem äntwert. En Host, deen SSH-Logine akzeptéiert, awer kee Subsistem huet, feelt bei all modernen Transfer, wärend en an engem Logintest komplett gesond ausgesäit.
Notéiert d'Clientversioun, de Protokoll an der Benotzung an den absolute remote Pfad an den Aufgabnotizen. Wann den nächsten Update en Standard ännert, ass déi Notiz den Ënnerscheed tëscht enger fënnef-Minute-Korrektur an engem Nomëtteg voller Vermutungen.