Snažím se přenášet soubory ze vzdáleného počítače pomocí ssh
do mého počítače:
scp My_file.txt [email protected]:/Home
To by mělo dát My_file.txt do domovské složky na mém počítači, že? dostanu
scp/Home: povolení odepřeno
Také když zkusím: [email protected]:/Desktop
, zkopírujte soubory ze vzdáleného počítače na plochu.
Co dělám špatně?
Vaše příkazy se pokouší umístit nový dokument do root (/
) vašeho stroje. Chcete je přenést do adresáře home (protože nemáte oprávnění k zápisu do /
). Pokud je cesta k vašemu domu něco jako /home/erez
zkuste následující:
scp My_file.txt [email protected]:/home/erez/
Cesta k domovskému adresáři můžete nahradit zkratkou ~/
, takže následující bude mít stejný účinek:
scp My_file.txt [email protected]:~/
Cestu můžete dokonce vynechat úplně na vzdálené straně; to znamená váš domovský adresář.
scp My_file.txt [email protected]:
To znamená, že zkopírujete soubor na plochu, který chcete přenést do /home/erez/Desktop/
:
scp My_file.txt [email protected]:/home/erez/Desktop/
nebo pomocí zkratky:
scp My_file.txt [email protected]:~/Desktop/
nebo pomocí relativní cesty na vzdálené straně, která je interpretována vzhledem k domovskému adresáři:
scp My_file.txt [email protected]:Desktop/
Jak již bylo uvedeno @ckhan, musíte také zaměnit argumenty, musí to být
scp FROM TO
Pokud tedy chcete soubor zkopírovat My_file.txt
ze serveru [email protected]
na plochu byste měli vyzkoušet následující:
scp [email protected]:/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 [email protected]:~/My_file.txt ~/Desktop/
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í přepisovaného souboru.
zdá se, že to vypadá jako povolení
Soubor nemusí mít oprávnění ke čtení, protože je doručen cílovému serveru jako zdrojový účet.
musíte zajistit, aby soubor u zdroje obsahoval požadovaná oprávnění, zejména oprávnění ke čtení
-rw-r - r--
chmod 744
pak scp soubor do cíle. To bude vyřešeno
Co pro mě bylo opraveno „povolení odepřeno“, bylo na vzdáleném serveru změnit vlastnictví složky na root: (K tomu může dojít, když posíláte soubor uživateli bez oprávnění root a adresář je ve vlastnictví root!) - Na vzdáleném počítači (kopírování cíle):
Sudo chown (your username) (remote folder)
Nezapomeňte také povolit všechna oprávnění ve vzdálené složce: (Ne vždy nutné):
Sudo chmod 777 (remote folder)
Máte argumenty pro obrácení scp
. Nejprve je to zdroj, potom cíl, jako například cp
. man scp
Více podrobností.
Permisssion Denied znamená, že nejste kořenem serveru. Prostě tam máte účet. V takovém případě musíte udělat toto:
Sudo scp -r /path2yourFolder/ [email protected]_Ip:/home/username
Tím se zkopíruje do vašeho domovského adresáře na serveru.
To bude také fungovat:
scp -r /path2yourFolder/ [email protected]_Ip:~/
Nainstalujte nástroj Windows „mRemoteG“ z www.mremoteng.org/
Vytvořte připojení SSH do požadovaného pole.
Klikněte na nabídku „Přenos souboru“.
Umožní snadný přenos souboru z Windows do Linuxu.
dík.
V mém případě jsem se také pokusil udělit všechna oprávnění s -R do složky, ale stále jsem dostal chybu o povolení.
Musel jsem odstranit cestu „/“ před cestou cílového serveru a složky. Důvodem je to, že soubory ke stažení jsou první složkou, kterou mohu vyjmenovat poté, co jsem ssh na server, například: ssh [email protected]
Toto funguje:
Sudo scp -rp /Users/Macintosh.vn/Downloads/bbhs_20190301.Zip [email protected]: Stahování
Toto nefungovalo:
Sudo scp -rp /Users/Macintosh.vn/Downloads/bbhs_20190301.Zip [email protected]:/Soubory ke stažení
Ujistěte se, že musíte nastavit absolutní cestu k serveru, od home v aktuálním případě:
scp file.txt SSH-ALIAS:/home/YOUR_USER/
Stejná oprávnění platí pro obě strany scp. Tato chyba se zobrazí, pokud uživatel nemá 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 uživatelem root a postrádal oprávnění k zápisu pro zamýšlený uživatelský účet.
Snadná oprava. Ujistěte se, že jste root. SCP na dálku a požádá vás o heslo uživatele root. Právě měl tento problém, který byl řešením. Zakořeníš je root.