Overfør filer ved hjelp av scp: tillatelse nektet

Jeg prøver å overføre filer fra ekstern datamaskin ved hjelp av ssh til datamaskinen min:

scp My_file.txt user_id@server:/Home

Dette burde sette My_file.txt i hjemmemappen på min egen datamaskin, ikke sant? Jeg får

scp / Home: tillatelse nektet

Også når jeg prøver: ...@server:/Desktop, for å kopiere filene fra den eksterne datamaskinen til skrivebordet mitt.

Hva gjør jeg galt?

Kommentarer

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

Svar

Kommandoene dine prøver å legge det nye dokumentet til root (/) på maskinen din. Det du vil gjøre er å overføre dem til hjem katalogen (siden du ikke har tillatelse til å skrive til /). Hvis stien til ditt hjem er noe sånt som /home/erez, prøv følgende:

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

Du kan erstatte stien til hjemmekatalog med snarveien ~/, slik at følgende vil ha samme effekt:

scp My_file.txt user_id@server:~/ 

Du kan til og med gå ut av stien helt på fjernkontrollen; dette betyr hjemmekatalogen din.

scp My_file.txt user_id@server: 

Det vil si at hvis du vil kopiere filen til skrivebordet, vil du kanskje overføre den til /home/erez/Desktop/:

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

eller ved hjelp av snarveien:

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

eller ved å bruke en relativ bane på den eksterne siden, som tolkes i forhold til hjemmekatalogen din:

scp My_file.txt user_id@server:Desktop/ 

Rediger:

Som @ ckhan allerede nevnt, må du også bytte argumentene, det må være

scp FROM TO 

Så hvis du vil kopiere filen My_file.txt fra serveren user_id@server til skrivebordet ditt, bør du prøve følgende:

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

Hvis fil My_file.txt ligger i hjemmekatalogen din på serveren. Du kan igjen bruke snarveien:

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

Kommentarer

  • – Jeg ‘ har prøvd: » ~ / for ‘ Hjem ‘ nå, og også » ~ / Desktop /. Begge resulterte i: My_file.txt 100% 0 0.0 KB / s 00:00, og jeg kan ikke se filene i mappene mine. Hva gjør jeg fortsatt galt? Tusen takk!
  • På det andre kommandoeksemplet ditt skal ~ beskyttes mot evaluering for å bli evaluert på den eksterne verten: \~ for eksempel.
  • For å takke deg, registrerte jeg meg på nettstedet. Takk at du reddet dagen min 🙂

Svar

Jeg kom hit for «Overfør filer ved hjelp av scp: tillatelse nektet «fordi jeg hadde den samme feilen.

I mitt tilfelle ville filen som ble lastet ned med scp ha overskrevet en fil som eies av root, og jeg var ikke root. Sjekk kort sagt eierskapet til filen som overskrevet.

Kommentarer

  • I dette tilfellet ‘ s fordi han ‘ prøver å skrive til /Home og ikke er rot, han har ikke ‘ t har skrivetilgang utenfor ~/
  • Du hjelper meg.

Svar

Det som løste «tillatelsen nektet» for meg var å endre mappeierskapet til root på den eksterne serveren: (Dette kan skje når du sender en fil til en ikke-rotbruker, og katalogen eies av root! ) På den eksterne maskinen (kopiere dest.):

sudo chown (your username) (remote folder) 

Også for å være sikker, aktiver alle tillatelser i den eksterne mappen: (Ikke alltid nødvendig):

sudo chmod 777 (remote folder) 

Svar

dette ser ut til å være som et tillatelsesproblem

Filen har kanskje ikke lesetillatelser ettersom den leveres til målserveren som kildekonto.

du må sørge for at filen ved kilden har nødvendige tillatelser, spesielt lesetillatelse

-rw-r – r–

chmod 744

og scp deretter filen til destinasjonen. Dette blir løst

Kommentarer

  • -rw-r--r-- er 644, ikke 744. Angi kjørbar tillatelse på en fil som faktisk ikke kan kjøres, kan forårsake problemer.

Svar

Du har argumentene til scp omvendt.Den er kilden først, deretter destinasjonen, som cp. man scp for mer informasjon.

Svar

Som Jinzai påpekte, kan den eksterne mappen eies av roten. I mitt tilfelle byttet noen (eller noe) eier av brukerens hjemmemappe å rote. Så da jeg prøvde å sende en fil til en ekstern server, oppstod en tillatelsesfeil.

Du kan sjekke eieren av mappen med kommandoen ls -l :

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

I eksemplet ovenfor eies bruker2-mappen av root. Du kan endre eier slik:

chown user2:user2 user2

Det er også en raskere måte å sjekke om serveren blokkerer en fil av scp eller ikke. Prøv å lage en fil i målmappen, for eksempel med touch test_file. Hvis du ikke kunne opprette en fil i mappen, vil du ikke kunne sende filen hit eksternt av samme bruker.

Svar

Tillatelse nektet betyr at du ikke er roten til serveren. Du har bare en konto der. Så i så fall må du gjøre dette:

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

Dette kopieres til hjemmekatalogen på serveren.

Dette vil også fungere :

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

Svar

Amazon Linux AMI

Sørg for at du må angi absolutt serverbane, fra hjem i gjeldende tilfelle:

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

Svar

Installer et Windows-verktøy» mRemoteG «fra www.mremoteng.org/

Opprett SSH-tilkoblingen til ønsket boks.

Klikk på «Overfør fil» -menyen.

Det gjør det enkelt å overføre fil fra Windows til Linux.

takk.

Svar

De samme tillatelsene gjelder på begge sider av scp. Du får denne feilen hvis brukeren mangler tillatelse til å skrive til destinasjonen. Symptomene ser ut til å implisere kilden, men i mitt tilfelle ble destinasjonen opprettet av root og manglet skrivetillatelse for den tiltenkte brukerkontoen.

Svar

I mitt tilfelle prøvde jeg også å gi all tillatelse med -R til mappen, men fikk fortsatt feilen om tillatelse.

Jeg måtte fjerne «/» før banen til målserveren og mappen. Årsaken er at Nedlastinger er den første mappen jeg kan liste opp etter at jeg har ssh til serveren, for eksempel: ssh [email protected]

Dette fungerer:

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

Dette fungerte ikke:

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

Svar

Enkel løsning. Sørg for at DU er rot. SCP til fjernkontrollen, og den vil be deg om maskinens root-passord. Bare hadde dette problemet som var løsningen. Du root dem root.

Kommentarer

  • Siden root-pålogginger normalt er deaktivert i sshd_config , bør du vise OP hvordan for å endre dette (selv om det ‘ ikke anbefales).
  • Hvorfor insisterer du på å bruke root for å kopiere en (hvilken som helst) fil? Legg merke til også det aksepterte svaret fra ~ 7 år siden …

Svar

før du bruker scp-kommando, gjør sørg for at du gir tillatelser til å lese, skrive og utføre til alle utenfor. «chmod 777 filnavn»

Kommentarer

  • du kan kopiere filer som ikke er 777

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *