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
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
scp My_file.txt user_id@server:
Zkopíruje se do domovské složky uživatelů.