Overfør filer ved hjælp af scp: tilladelse nægtet

Jeg prøver at overføre filer fra fjerncomputer ved hjælp af ssh til min computer:

scp My_file.txt user_id@server:/Home

Dette skal placere My_file.txt i hjemmemappen på min egen computer, ikke? Jeg får

scp / Home: tilladelse nægtet

Også når jeg prøver: ...@server:/Desktop for at kopiere filerne fra fjerncomputeren til mit skrivebord.

Hvad laver jeg forkert?

Kommentarer

  • Hvis du vil kopiere filen til hjemmemappen til ‘ user_id ‘ brug scp My_file.txt user_id@server: Den kopieres til brugerens hjemmemappe.

Svar

Dine kommandoer forsøger at placere det nye dokument til root (/) på din maskine. Hvad du vil gøre er at overføre dem til din hjem -mappe (da du ikke har nogen tilladelse til at skrive til /). Hvis stien til dit hjem er noget som /home/erez prøv følgende:

scp My_file.txt user_id@server:/home/erez/ 

Du kan erstatte stien til din hjemmekatalog med genvejen ~/, så følgende har samme effekt:

scp My_file.txt user_id@server:~/ 

Du kan endda forlade ud af stien helt på den fjerne side; dette betyder din hjemmekatalog.

scp My_file.txt user_id@server: 

Det vil sige at hvis du vil kopiere filen til dit skrivebord, kan du overføre den til /home/erez/Desktop/:

scp My_file.txt user_id@server:/home/erez/Desktop/ 

eller ved hjælp af genvejen:

scp My_file.txt user_id@server:~/Desktop/ 

eller ved hjælp af en relativ sti på den eksterne side, som fortolkes i forhold til dit hjemmekatalog:

scp My_file.txt user_id@server:Desktop/ 

Rediger:

Som @ ckhan allerede nævnt, skal du også bytte argumenterne, det skal være

scp FROM TO 

Så hvis du vil kopiere filen My_file.txt fra serveren user_id@server til dit skrivebord skal du prøve følgende:

scp user_id@server:/path/to/My_file.txt ~/Desktop/ 

Hvis fil My_file.txt er placeret i dit hjemmekatalog på serveren, du kan igen bruge genvejen:

scp user_id@server:~/My_file.txt ~/Desktop/ 

Kommentarer

  • – Jeg ‘ har prøvet: ” ~ / til ‘ Hjem ‘ nu, og også ” ~ / Desktop /. Begge resulterede i: My_file.txt 100% 0 0.0 KB / s 00:00, og jeg kan ikke se filerne i mine mapper. Hvad laver jeg stadig forkert? Mange tak!
  • På dit andet kommandoeksempel skal ~ beskyttes mod evaluering for at blive evalueret på den eksterne vært: \~ for eksempel.
  • For at takke dig, tilmeldte jeg mig hjemmesiden. Tak, du reddede min dag 🙂

Svar

Jeg kom her for “Overfør filer ved hjælp af scp: tilladelse nægtet “fordi jeg havde den samme fejl.

I mit tilfælde ville den fil, der blev downloadet med scp, have overskrevet en fil, der ejes af root, og jeg var ikke root. Kort sagt skal du kontrollere ejerskabet af den fil, der er overskrevet.

Kommentarer

  • I dette tilfælde ‘ s fordi han ‘ forsøger at skrive til /Home og ikke er root, han har ikke ‘ t har skriveadgang uden for ~/
  • Du hjælper mig.

Svar

Hvad der fik “tilladelse nægtet” for mig, var at ændre på ejerskabet af mappen til root på fjernserveren: (Dette kan ske, når du sender en fil til en ikke-root-bruger, og biblioteket ejes af root! ) På den eksterne maskine (kopiering af dest.):

sudo chown (your username) (remote folder) 

Også for at være sikker skal du aktivere alle tilladelser i fjernmappen: (Ikke altid nødvendigt):

sudo chmod 777 (remote folder) 

Svar

dette ser ud til at være som tilladelsesproblem

Filen har muligvis ikke læsetilladelser, da den leveres til destinationsserveren som kildekonto.

du skal sikre dig, at filen ved kilden har krævet tilladelse, især læsetilladelse

-rw-r – r–

chmod 744

scp derefter filen til destinationen. Dette løses

Kommentarer

  • -rw-r--r-- er 644, ikke 744. Indstilling af eksekverbar tilladelse på en fil, der faktisk ikke er eksekverbar, kan forårsage problemer.

Svar

Du har argumenterne for scp omvendt.Det er kilden først, derefter destinationen som cp. man scp for flere detaljer.

Svar

Som Jinzai påpegede, kan den eksterne mappe ejes af roden. I mit tilfælde ændrede nogen (eller noget) ejeren af brugerens hjemmemappe at rodfæste. Så da jeg forsøgte at sende en fil til en ekstern server, opstod der en fejl nægtet tilladelse.

Du kan kontrollere ejeren af mappen med kommandoen ls -l :

drwxr-xr-x 5 root root 4096 Oct 21 08:16 user2

I eksemplet ovenfor ejes mappen user2 af root. Du kan ændre ejeren sådan:

chown user2:user2 user2

Der er også en hurtigere måde at kontrollere, om serveren blokerer en fil ved at scp eller ej. Prøv at oprette en fil i målmappen, f.eks. Med touch test_file. Hvis du ikke kunne oprette en fil i mappen, vil du ikke kunne sende filen her eksternt af den samme bruger.

Svar

Tilladelse nægtet betyder, at du ikke er serverens rod. Du har bare en konto der. Så i så fald skal du gøre dette:

sudo scp -r /path2yourFolder/ username@server_Ip:/home/username 

Dette kopieres til dit hjemmekatalog på serveren.

Dette fungerer også :

scp -r /path2yourFolder/ username@server_Ip:~/ 

Svar

Amazon Linux AMI

Sørg for, at du skal indstille den absolutte serversti fra home i det aktuelle tilfælde:

scp file.txt SSH-ALIAS:/home/YOUR_USER/ 

Svar

Installer et Windows-værktøj” mRemoteG “fra www.mremoteng.org/

Opret din SSH-forbindelse til det ønskede felt.

Klik på menuen “Overfør fil”.

Det gør det muligt at overføre fil nemt fra Windows til Linux.

tak.

Svar

De samme tilladelser gælder på begge sider af scp. Du får denne fejl, hvis brugeren mangler tilladelse til at skrive til destinationen. Symptomerne ser ud til at implicere kilden, men i mit tilfælde blev destinationen oprettet med root og manglede skrivetilladelse til den tilsigtede brugerkonto.

Svar

I mit tilfælde forsøgte jeg også at give al tilladelse med -R til mappen, men fik stadig fejlen om tilladelse.

Jeg var nødt til at fjerne “/” før stien til målserveren og mappen. Årsagen er, at Downloads er den første mappe, jeg kan liste ud, efter at jeg ssh til serveren, for eksempel: ssh [email protected]

Dette fungerer:

sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip [email protected]: Downloads

Dette fungerede ikke:

sudo scp -rp /Users/macintosh.vn/Downloads /bbhs_20190301.zip [email protected]: / Downloads

Svar

Nem løsning. Sørg for, at DU er rod. SCP til fjernbetjeningen, og den vil bede dig om maskinens rodadgangskode. Bare havde dette problem, der var løsningen. Du rodfæster dem rod.

Kommentarer

  • Da rodlogins normalt er deaktiveret i sshd_config , skal du vise OP hvordan for at ændre dette (selvom det ‘ ikke anbefales).
  • Hvorfor insisterer du på at bruge root til at kopiere en (hvilken som helst) fil? Bemærk også det accepterede svar fra ~ 7 år siden …

Svar

inden du bruger scp-kommando, lav Sørg for, at du giver tilladelser til at læse, skrive og udføre til alle udenfor. “chmod 777 filnavn”

Kommentarer

  • du kan kopiere fil, der ikke er 777

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *