Överföra filer med scp: tillåtelse nekad

Jag försöker överföra filer från fjärrdator med ssh till min dator:

scp My_file.txt user_id@server:/Home

Detta ska sätta My_file.txt i hemmappen på min egen dator, eller hur? Jag får

scp / Home: tillåtelse nekad

Även när jag försöker: ...@server:/Desktop, för att kopiera filerna från fjärrdatorn till mitt skrivbord.

Vad gör jag fel?

Kommentarer

  • Om du vill kopiera filen till hemmappen för ’ user_id ’ använd scp My_file.txt user_id@server: Den kopieras till användarens hemmapp.

Svar

Dina kommandon försöker lägga det nya dokumentet till root (/) på din maskin. Vad du vill göra är att överföra dem till din hem -katalog (eftersom du inte har behörighet att skriva till /). Om sökvägen till ditt hem är ungefär som /home/erez prova följande:

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

Du kan ersätta sökvägen till din hemkatalog med genvägen ~/, så följande kommer att ha samma effekt:

scp My_file.txt user_id@server:~/ 

Du kan till och med lämna ut hela vägen på fjärrsidan; det betyder din hemkatalog.

scp My_file.txt user_id@server: 

Det vill säga om du vill kopiera filen till skrivbordet kanske du vill överföra den till /home/erez/Desktop/:

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

eller med hjälp av genvägen:

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

eller med en relativ sökväg på fjärrsidan, som tolkas i förhållande till din hemkatalog:

scp My_file.txt user_id@server:Desktop/ 

Redigera:

Som @ ckhan redan nämnt, du måste också byta argumenten, det måste vara

scp FROM TO 

Så om du vill kopiera filen My_file.txt från servern user_id@server till skrivbordet bör du försöka med följande:

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

Om filen My_file.txt finns i din hemkatalog på servern. Du kan återigen använda genvägen:

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

Kommentarer

  • – Jag ’ har försökt: ” ~ / för ’ Hem ’ nu, och även ” ~ / Skrivbord /. Båda resulterade i: My_file.txt 100% 0 0,0 KB / s 00:00, och jag kan inte se filerna i mina mappar. Vad gör jag fortfarande fel? Tack så mycket!
  • I ditt andra kommandoexempel ska ~ skyddas från utvärdering så att den utvärderas på fjärrvärden: \~ till exempel.
  • För att tacka dig registrerade jag mig på webbplatsen. Tack för att du räddade min dag 🙂

Svar

Jag kom hit för ”Överför filer med scp: tillstånd nekad ”eftersom jag hade samma fel.

I mitt fall skulle filen som hämtats med scp ha skrivit över en fil som ägs av root, och jag var inte root. Kort sagt, kontrollera äganderätten till den fil som överskrivna.

Kommentarer

  • I detta fall är det ’ eftersom han ’ försöker skriva till /Home och inte är root, han har inte ’ t har skrivåtkomst utanför ~/
  • Du hjälper mig.

Svar

Vad som fixade ”tillåtelse nekad” för mig var att ändra fjärrservern till root: (Detta kan hända när du skickar en fil till en icke-root-användare och katalogen ägs av root! ) På fjärrmaskinen (kopiering av dest.):

sudo chown (your username) (remote folder) 

Aktivera också alla behörigheter i fjärrmappen: (Inte alltid nödvändigt):

sudo chmod 777 (remote folder) 

Svar

detta verkar vara som ett tillståndsproblem

Filen kanske inte har läsbehörigheter eftersom den levereras till destinationsservern som källkonto.

du måste se till att källfilen har behörighet, särskilt läsbehörighet

-rw-r – r–

chmod 744

scp sedan filen till destinationen. Detta kommer att lösas

Kommentarer

  • -rw-r--r-- är 644, inte 744. Ställa in körbar behörighet på en fil som inte är exekverbar kan orsaka problem.

Svar

Du har argumenten till scp omvänd.Det är källan först, sedan destination, som cp. man scp för mer information.

Svar

Som Jinzai påpekade kan fjärrmappen ägas av roten. I mitt fall ändrade någon (eller något) ägaren till användarens hemmapp att rota. Så när jag försökte skicka en fil till en fjärrserver uppstod ett fel som nekades tillstånd.

Du kan kontrollera ägaren till mappen med kommandot ls -l :

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

I exemplet ovan ägs mappen user2 av root. Du kan ändra ägaren så här:

chown user2:user2 user2

Det finns också ett snabbare sätt att kontrollera om servern blockerar en fil genom att scp eller inte. Försök att skapa en fil i målmappen, till exempel med touch test_file. Om du inte kunde skapa en fil i mappen kan du inte skicka filen här på distans av samma användare.

Svar

Tillåtelse nekad innebär att du inte är roten till servern. Du har bara ett konto där. Så i så fall måste du göra detta:

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

Detta kopieras till din hemkatalog på servern.

Detta fungerar också :

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

Svar

Amazon Linux AMI

Se till att du måste ställa in den absoluta servervägen från home i nuvarande fall:

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

Svar

Installera ett Windows-verktyg” mRemoteG ”från www.mremoteng.org/

Skapa din SSH-anslutning till önskad ruta.

Klicka på menyn ”Överför fil”.

Det går att överföra filer enkelt från Windows till Linux.

tack.

Svar

Samma behörighet gäller på båda sidor om scp. Du får detta fel om användaren saknar behörighet att skriva till destinationen. Symtomen verkar innebära källan, men i mitt fall skapades destinationen av root och saknade skrivbehörighet för det avsedda användarkontot.

Svar

I mitt fall försökte jag också ge alla behörigheter med -R till mappen men fick fortfarande felet om behörighet.

Jag var tvungen att ta bort ”/” innan sökvägen till målservern och mappen. Anledningen är att Nedladdningar är den första mappen jag kan lista ut efter att jag ssh till servern, till exempel: ssh [email protected]

Detta fungerar:

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

Detta fungerade inte:

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

Svar

Enkel fix. Se till att du är rot. SCP till fjärrkontrollen och den kommer att be dig om maskinens root-lösenord. Bara hade detta problem som var lösningen. Du rotar dem root.

Kommentarer

  • Eftersom root-inloggningar normalt är inaktiverade i sshd_config , bör du visa OP hur för att ändra detta (även om det ’ inte rekommenderas).
  • Varför insisterar du på att använda root för att kopiera en (någon) fil? Lägg också märke till det accepterade svaret från ~ 7 år sedan …

Svar

innan du använder scp-kommando, gör se till att du ger behörighet att läsa, skriva och utföra till alla utanför. ”chmod 777 filnamn”

Kommentarer

  • du kan kopiera filer som inte är 777

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *