scp komanda, kas gadiem darbojās skriptā, pašreizējā klientā var neizdoties ar ceļa kļūdu, kurai nav nekāda sakara ar tuneli. VPN pārnesa baitus; klients serverim prasīja vārdu, ko serveris nevarēja atrisināt. Pašreizējais OpenSSH scp pēc noklusējuma pārraida caur SFTP, un SFTP neveic čaulas stila paplašināšanu kā vecais protokols. Komandas izsekošana no jūsu paša konta uz āru parāda, kur ceļš patiešām tiek interpretēts.

Sāciet ar kontu, pēc tam ar direktoriju, kurā tas var rakstīt

Kols atdala divas nosaukumu telpas, un tikai kreisā puse pieder mašīnai, kurā jūs rakstāt. Visu pēc tā atrisina serveris, zem konta, ar kuru autentificējāties, tās failu sistēmas skata ietvaros, kāds šim kontam ir. Apstipriniet abus pirms komandas sastādīšanas, jo administratoram pareizs ceļš nav automātiski pareizs pārsūtīšanas lietotājam. Šī atšķirība ir vairuma atļauju kļūdu, kas izskatās kā tīkla bojājumi, avots.

Pajautājiet serverim tā paša skatu: ssh [email protected] pwd un ssh [email protected] ls -ld /srv/archive. Ja otrā komanda ziņo par atteiktu atļauju, tunelis ir kārtībā un ceļš šim kontam nav izmantojams. Izlabojiet īpašumtiesības vai izvēlieties citu galamērķi, nevis paplašiniet atļaujas, lai pārsūtīšana varētu turpināties.

Ierobežota SFTP konfigurācija var parādīt chroot kā failu sistēmas sakni. Šajā skatā absolūts ceļš ir absolūts chroot ietvaros, kas nav tā pati vieta, ko administrators redz uz resursdatora.

Skaidri nosauciet abas kola puses

Augšupielādei jānorāda attālā faila nosaukums, nevis jāpieņem, ka vietējais pamatnosaukums būs pieņemams otrā pusē.

scp q3-invoice.csv [email protected]:/home/transfer/drop/q3-invoice.csv

Lejupielādei jānorāda vietējais galamērķis tieši tā paša iemesla dēļ. Abas nosaukumu telpas ir neatkarīgas, un skripts, kas pieņem to sakritību, pirmo reizi salūzt, kad attālais koks izmanto citu izkārtojumu.

scp [email protected]:/srv/archive/2026-q3.csv ./2026-q3.csv

Izvairieties no ~otheruser uzturētā skriptā. Cita konta mājas direktorija paplašināšana bija attālās čaulas funkcija, un SFTP serveris var neīstenot paplašinājumu, kas to atdarina. Rakstiet absolūto ceļu, ko konts patiešām var atvērt, un vietējos ceļus ar atstarpēm lieciet pēdiņās, nevis kopējiet pēdiņu slāņus, kas rakstīti servera čaulai.

Ziniet, kādu protokolu jūsu scp patiešām izmanto

Kopš OpenSSH 9.0 klients pēc noklusējuma izmanto SFTP, un distribūcijas šo uzvedību pārņem vai pārportē savā grafikā. Versijas virkne pasaka, ko klients plāno, bet piegādātāja būvējums var atšķirties no upstream, tāpēc pārbaudiet klientu, ko patiešām palaižat: ssh -V.

Abi protokoli nosaukumus atrisina atšķirīgi. Vecais SCP lūdz attālā lietotāja čaulu paplašināt ceļu, tāpēc aizstājējzīmes un tildes apstrādā šī čaula pēc saviem noteikumiem. SFTP tā vietā izdod failu pārsūtīšanas darbības, tāpēc aizstājējzīmi vai nu paplašina klients, vai tā netiek paplašināta vispār. Abi ceļo SSH iekšienē uz to pašu mašīnu, tāpēc viens resursdators var uzvesties atšķirīgi divu klientu apstākļos.

scp -v izdrukā pieprasīto apakšsistēmu, un sftp apakšsistēmas rinda apstiprina, ka tiek izmantots mūsdienīgais ceļš. scp -O piespiež veco protokolu tur, kur tas tiek atbalstīts un patiešām nepieciešams, un līdzi atgriež savus pēdiņu noteikumus. Tas nav VPN variants, nav veids, kā serverī kaut ko iespējot, un nav iemesls mīkstināt resursdatora atslēgas pārbaudi.

Pārbaudiet ceļu, pirms skripts uz to paļaujas

Ceļa problēma parādās vissliktākajā brīdī, automatizētā nakts darbā, kad neviens neskatās. Vispirms pierādiet galamērķi ar mazu failu un tieši to kontu, ko izmanto darbs, un turiet šo testa komandu blakus darba definīcijai. Ja testam vajag citu kontu vai citu direktoriju, tas būs vajadzīgs arī darbam.

Pārbaudiet arī servera pusi. grep -i subsystem /etc/ssh/sshd_config parāda, vai ir konfigurēta SFTP apakšsistēma, un sftp -b /dev/null [email protected] veiksmīgi beidzas tikai tad, kad šī apakšsistēma atbild. Resursdators, kas pieņem SSH pieteikšanās, bet kam nav apakšsistēmas, neizdodas katrā mūsdienu pārsūtīšanā, lai gan pieteikšanās testā izskatās pilnīgi vesels.

Pierakstiet klienta versiju, izmantoto protokolu un absolūto attālo ceļu darba piezīmēs. Kad nākamais atjauninājums mainīs noklusējumu, šī piezīme ir atšķirība starp piecu minūšu labojumu un pēcpusdienu minējumu.

Saistītie raksti