Breng bestanden over met scp: toestemming geweigerd

Ik probeer bestanden over te zetten vanaf een externe computer met ssh naar mijn computer:

scp My_file.txt user_id@server:/Home

Dit zou My_file.txt in de thuismap op mijn eigen computer moeten plaatsen, toch? Ik krijg

scp / Home: toestemming geweigerd

Ook als ik probeer: ...@server:/Desktop, om de bestanden van de externe computer naar mijn bureaublad te kopiëren.

Wat doe ik verkeerd?

Reacties

  • Als je het bestand naar de thuismap van ‘ user_id ‘ gebruik scp My_file.txt user_id@server: Het kopieert naar de thuismap van de gebruiker.

Antwoord

Uw opdrachten proberen het nieuwe document naar de root (/) van uw machine. Wat u wilt doen, is ze overbrengen naar uw home directory (aangezien u geen toestemming heeft om te schrijven naar /). Als het pad naar uw huis zoiets is als /home/erez, probeer dan het volgende:

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

U kunt het pad naar uw homedirectory met de snelkoppeling ~/, dus het volgende heeft hetzelfde effect:

scp My_file.txt user_id@server:~/ 

Je kunt zelfs vertrekken het pad helemaal uit aan de afgelegen kant; dit betekent uw homedirectory.

scp My_file.txt user_id@server: 

Dat wil zeggen, om het bestand naar uw bureaublad te kopiëren, wilt u het misschien overbrengen naar /home/erez/Desktop/:

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

of met behulp van de snelkoppeling:

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

of met een relatief pad aan de externe kant, dat wordt geïnterpreteerd relatief ten opzichte van je homedirectory:

scp My_file.txt user_id@server:Desktop/ 

Bewerken:

Als @ ckhan al genoemd, je moet ook de argumenten omwisselen, het moet

scp FROM TO 

Dus als je het bestand van de server user_id@server naar uw bureaublad, probeer dan het volgende:

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

Als de bestand My_file.txt bevindt zich in uw homedirectory op de server, u kunt opnieuw de snelkoppeling gebruiken:

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

Reacties

  • – Ik heb ‘ geprobeerd: ” ~ / voor ‘ Home ‘ nu, en ook ” ~ /Bureaublad/. Beide resulteerden in: My_file.txt 100% 0 0,0 KB / s 00:00, en ik kan de bestanden in mijn mappen niet zien. Wat doe ik nog steeds verkeerd? Heel erg bedankt!
  • In je tweede commandovoorbeeld moet de ~ worden beschermd tegen evaluatie zodat deze kan worden geëvalueerd op de externe host: \~ bijvoorbeeld.
  • Om u te bedanken, heb ik me geregistreerd op de website. Bedankt dat je mijn dag hebt gered 🙂

Antwoord

Ik kwam hier voor “Bestanden overzetten met scp: toestemming geweigerd “omdat ik dezelfde fout had.

In mijn geval zou het met scp gedownloade bestand een bestand hebben overschreven dat eigendom was van root, en ik was niet root. Kortom, controleer het eigendom van het bestand dat overschreven.

Reacties

  • In dit geval is het ‘ omdat hij ‘ s probeert te schrijven naar /Home en omdat hij geen root is, ‘ heeft geen schrijftoegang buiten ~/
  • Je helpt me echt.

Antwoord

Wat de “toestemming geweigerd” voor mij repareerde, was, op de externe server, het eigendom van de map veranderen in root: (Dit kan gebeuren wanneer je een bestand naar een niet-rootgebruiker verzendt en de directory is eigendom van root! ) Op de externe machine (kopieerbest.):

sudo chown (your username) (remote folder) 

Schakel ook voor de zekerheid alle machtigingen voor de externe map in: (niet altijd nodig):

sudo chmod 777 (remote folder) 

Antwoord

dit lijkt op een toestemmingsprobleem

Het bestand heeft mogelijk geen leesrechten omdat het als bronaccount wordt afgeleverd op de doelserver.

je moet ervoor zorgen dat het bestand bij de bron de vereiste rechten heeft, met name leesrechten

-rw-r – r–

chmod 744

scp vervolgens het bestand naar de bestemming. Dit wordt opgelost.

Opmerkingen

  • -rw-r--r-- is 644, niet 744. Uitvoerbare toestemming instellen voor een bestand dat niet echt uitvoerbaar is, kan problemen veroorzaken.

Antwoord

Je hebt de argumenten voor scp omgekeerd.Het is eerst de bron, dan de bestemming, zoals cp. man scp voor meer details.

Antwoord

Zoals Jinzai opmerkte, kan de externe map eigendom zijn van de root. In mijn geval heeft iemand (of iets) de eigenaar van de thuismap van de gebruiker gewijzigd wortel schieten. Dus toen ik probeerde een bestand naar een externe server te sturen, deed zich een fout voor om toestemming geweigerd te krijgen.

Je kunt de eigenaar van de map controleren met het ls -l commando :

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

In het bovenstaande voorbeeld is de map user2 eigendom van root. U kunt de eigenaar als volgt wijzigen:

chown user2:user2 user2

Er is ook een snellere manier om te controleren of de server een bestand blokkeert door scp of niet. Probeer een bestand aan te maken in de doelmap, bijvoorbeeld met touch test_file. Als u geen bestand in de map kon maken, kunt u het bestand niet op afstand hier naartoe sturen door dezelfde gebruiker.

Answer

Permisssion Denied betekent dat u niet de root van de server bent. Je hebt daar gewoon een rekening. Dus in dat geval moet je dit doen:

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

Dit zal naar je homedirectory op de server kopiëren.

Dit zal ook werken :

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

Antwoord

Amazon Linux AMI

Zorg ervoor dat u een absoluut serverpad moet instellen, van home in het huidige geval:

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

Answer

Installeer een Windows-tool” mRemoteG “van www.mremoteng.org/

Creëer uw SSH-verbinding met het gewenste vak.

Klik op het menu “Bestand overdragen”.

Het zal het mogelijk maken om bestanden gemakkelijk over te zetten van Windows naar Linux.

bedankt.

Antwoord

Dezelfde permissies zijn van toepassing op beide zijden van de scp. U krijgt deze foutmelding als de gebruiker geen toestemming heeft om naar de bestemming te schrijven. De symptomen lijken de bron te impliceren, maar in mijn geval is de bestemming gemaakt door root en ontbrak schrijfmachtiging voor het beoogde gebruikersaccount.

Answer

In mijn geval heb ik ook geprobeerd om alle toestemming met -R voor de map te geven, maar kreeg ik nog steeds de foutmelding over toestemming.

Ik moest “/” verwijderen vóór het pad van de doelserver en map. De reden hiervoor is dat Downloads de eerste map is die ik kan weergeven nadat ik naar de server ssh, bijvoorbeeld: ssh [email protected]

Dit werkt:

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

Dit werkte niet:

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

Antwoord

Gemakkelijke oplossing. Zorg ervoor dat JIJ root bent. SCP naar de afstandsbediening en het zal u om het root-wachtwoord van die machine vragen. Had net dit probleem dat de oplossing was. Je root ze root.

Reacties

  • Aangezien root-logins normaal gesproken uitgeschakeld zijn in sshd_config , zou je het OP moeten laten zien hoe om dit te veranderen (hoewel het ‘ niet wordt aanbevolen).
  • Waarom sta je erop root te gebruiken om een (willekeurig) bestand te kopiëren? Let ook op het geaccepteerde antwoord van ~ 7 jaar geleden …

Answer

voordat u het scp-commando gebruikt, zorg ervoor dat u iedereen van buitenaf toestemming geeft om te lezen, schrijven en uit te voeren. “chmod 777 file_name”

Reacties

  • je kunt bestanden kopiëren die geen 777 zijn

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *