Přenos souborů pomocí scp: oprávnění odepřeno

Pokouším se přenést soubory ze vzdáleného počítače pomocí ssh do mého počítače:

scp My_file.txt user_id@server:/Home

Tím by se měl soubor My_file.txt umístit do domovské složky v mém počítači, že? Zobrazuje se mi

scp / Home: oprávnění odepřeno

Také při pokusu: ...@server:/Desktop za účelem zkopírování souborů ze vzdáleného počítače na plochu.

Co dělám špatně?

Komentáře

  • Pokud chcete soubor zkopírovat do domovské složky ‚ user_id ‚ použít scp My_file.txt user_id@server: Zkopíruje se do domovské složky uživatelů.

Odpovědět

Vaše příkazy se pokoušejí umístit nový dokument do kořenového (/) vašeho počítače. Chcete je převést do svého domovského adresáře (protože nemáte oprávnění k zápisu do /). Pokud je cesta k vašemu domovu něco jako /home/erez, zkuste následující:

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

Můžete nahradit cestu k vašemu domovský adresář se zástupcem ~/, takže následující efekt bude mít stejný účinek:

scp My_file.txt user_id@server:~/ 

Můžete dokonce odejít cestu úplně na vzdálené straně; to znamená váš domovský adresář.

scp My_file.txt user_id@server: 

To znamená, že pokud chcete soubor zkopírovat na plochu, můžete jej přenést do /home/erez/Desktop/:

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

nebo pomocí zkratky:

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

nebo pomocí relativní cesta na vzdálené straně, která je interpretována vzhledem k domovskému adresáři:

scp My_file.txt user_id@server:Desktop/ 

Upravit:

Jako @ ckhan již zmínil, musíte také vyměnit argumenty, musí to být

scp FROM TO 

Takže pokud chcete zkopírovat soubor My_file.txt ze serveru user_id@server na plochu, měli byste vyzkoušet následující:

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

Pokud soubor My_file.txt se nachází ve vašem domovském adresáři na serveru, můžete znovu použít zkratku:

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

Komentáře

  • – Zkoušel jsem ‚: “ ~ / pro ‚ Home ‚ nyní a také “ ~ /Plocha počítače/. Oba vyústily v: My_file.txt 100% 0 0,0 KB / s 00:00 a nevidím soubory ve svých složkách. Co stále dělám špatně? Díky moc!
  • Ve druhém příkladu příkazu by měl být ~ chráněn před hodnocením, aby mohl být vyhodnocen na vzdáleném hostiteli: \~ například.
  • Abych vám poděkoval, zaregistroval jsem se na web. Děkuji, že jste mi zachránili den 🙂

Odpovědět

Přišel jsem sem pro „Přenos souborů pomocí scp: oprávnění odepřeno „protože jsem měl stejnou chybu.

V mém případě by soubor stažený pomocí scp přepsal soubor vlastněný rootem a já nebyl root. Stručně řečeno, zkontrolujte vlastnictví souboru, který přepsáno.

Komentáře

  • V tomto případě to ‚ s protože ‚ se snaží zapisovat do /Home a není root, nemá ‚ přístup pro zápis mimo ~/
  • Pomůžete mi.

Odpovědět

Co opravilo „povolení odepřeno“ pro mě bylo, že na vzdáleném serveru změnil vlastnictví složky na root: (To se může stát, když posíláš soubor uživateli bez oprávnění root a adresář je vlastněn rootem!) ) Na vzdáleném počítači (kopírování cíle):

sudo chown (your username) (remote folder) 

Pro jistotu povolte všechna oprávnění pro vzdálenou složku: (Není vždy nutné):

sudo chmod 777 (remote folder) 

odpověď

to vypadá jako problém s povolením

Soubor nemusí mít oprávnění ke čtení, protože je doručen na cílový server jako zdrojový účet.

musíte zajistit, aby soubor u zdroje vyžadoval oprávnění, zejména oprávnění ke čtení

-rw-r – r–

chmod 744

Poté scp soubor do cíle. To bude vyřešeno

Komentáře

  • -rw-r--r-- je 644, ne 744. Nastavení oprávnění ke spuštění soubor, který není ve skutečnosti spustitelný, může způsobit problémy.

odpověď

Máte argumenty pro scp obráceno.Nejdříve je to zdroj, poté cíl, další podrobnosti najdete v cp. man scp.

Odpověď

Jak zdůraznil Jinzai, vzdálenou složku může vlastnit root. V mém případě někdo (nebo něco) změnil vlastníka domovské složky uživatele ke kořeni. Když jsem se tedy pokusil odeslat soubor na vzdálený server, došlo k chybě odepření oprávnění.

Vlastníka složky můžete zkontrolovat pomocí příkazu ls -l :

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

Ve výše uvedeném příkladu je složka user2 vlastněna uživatelem root. Vlastníka můžete změnit takto:

chown user2:user2 user2

Existuje také rychlejší způsob, jak zkontrolovat, zda server blokuje soubor scp nebo ne. Zkuste vytvořit soubor v cílové složce, například pomocí touch test_file. Pokud se vám nepodařilo vytvořit soubor ve složce, nebudete moci soubor odeslat na dálku stejným uživatelem.

Odpovědět

Povolení odepřeno znamená, že nejste rootem serveru. Právě tam držíte účet. V takovém případě to musíte udělat:

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

Tím se zkopíruje do vašeho domovského adresáře na serveru.

Toto bude také fungovat :

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

Odpověď

Amazon Linux AMI

Nezapomeňte nastavit absolutní cestu k serveru, z home v tomto případě:

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

Odpověď

Nainstalujte si nástroj Windows“ mRemoteG „z www.mremoteng.org/

Vytvořte připojení SSH k požadovanému poli.

Klikněte na nabídku „Přenos souboru“.

Umožní snadný přenos souboru z Windows na Linux.

Díky.

Odpovědět

Na obou stranách scp platí stejná oprávnění. Tato chyba se zobrazí, pokud uživateli chybí oprávnění k zápisu do cíle. Zdá se, že příznaky implikují zdroj, ale v mém případě byl cíl vytvořen rootem a chybělo mu oprávnění k zápisu pro zamýšlený uživatelský účet.

Odpovědět

V mém případě jsem se také pokusil udělit všechna oprávnění pomocí -R do složky, ale přesto se mi zobrazila chyba týkající se oprávnění.

Musel jsem odstranit „/“ před cestou cílového serveru a složky. Důvodem je to, že Stahování je první složka, kterou mohu vypsat po ssh na server, například: ssh [email protected]

Toto funguje:

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

To nefungovalo:

sudo scp -rp /Users/macintosh.vn/Downloads /bbhs_20190301.zip [email protected]: / Soubory ke stažení

Odpověď

Snadná oprava. Ujistěte se, že jste root. SCP na dálkové ovládání a požádá vás o heslo root tohoto stroje. Prostě měl tento problém, který byl řešením. Rootujete je rootem.

Komentáře

  • Protože přihlašování uživatelů root je v sshd_config obvykle zakázáno, měli byste OP ukázat, jak to změnit (i když to ‚ s nedoporučujeme).
  • Proč trváte na kopírování (libovolného) souboru pomocí root? Všimněte si také přijaté odpovědi z doby před ~ 7 lety …

Odpovědět

před použitím příkazu scp proveďte ujistěte se, že dáváte oprávnění ke čtení, zápisu a provádění všem mimo. „chmod 777 název_souboru“

Komentáře

  • můžete kopírovat soubory, které nejsou 777

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *