Doprowadza mnie to do szału! Chcę tylko przenieść jeden prosty plik z laptopa na serwer.
Używam Ubuntu na obu komputerach.
Więc mam:
-rwxr-xr-x 1 sandro 414622 2011-10-14 23:42 sandrophoto-html.tar.gz
I przesyłam to za pomocą:
sudo scp -P XXXX sandrophoto-html.tar.gz [email protected]:/media/xx/xx/xx
I dostaję: scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied
ps Być może robię to w drugą stronę - chcę wysłać plik tar.gz znajdujący się na moim pulpicie do zdalnego serwera w folderze / media / yadayda
Odpowiedzi:
Masz wszystko w odpowiedniej kolejności z tego, co rozumiem, ogólny sposób wykonania scp jest następujący:
Sądząc po pytaniu, masz plik lokalny, który chcesz wysłać na serwer docelowy. Więc masz właściwą składnię, która jest dobra!
Jeśli otrzymujesz odmowę dostępu, oznacza to, że nie używasz poprawnej nazwy użytkownika lub coś jest nie tak z uwierzytelnianiem. Najprawdopodobniej dzieje się tak, ponieważ polecenie sudo działa tylko lokalnie, na początek, więc nie da ci roota na zdalnym komputerze, więc prawdopodobnie jest to problem. Upewnij się, że użytkownik, na który logujesz się na zdalnym serwerze, ma uprawnienia do zapisu w lokalizacji, do której próbujesz pisać.
Jeśli problem polega na tym, że użytkownik docelowy nie ma dostępu do tej lokalizacji bez sudo, przenieś plik do folderu domowego użytkownika docelowego, a następnie sudo mv plik z powłoki na innym serwerze, aby umieścić go we właściwej lokalizacji.
źródło
Cześć, ten sam problem z błędem uprawnień rozwiązał to w ten sposób
Upewnij się, że katalog kopiujesz ON
192.168.0.4
jest własnością użytkownika nazwa użytkownikaNastępnie zrób na komputerze lokalnym
Twoje zdrowie
źródło
chmod
w folderze docelowym na zdalnym serwerzeOdmowa zezwolenia oznacza, że nie jesteś rootem serwera. Po prostu masz tam konto. W takim przypadku musisz to zrobić:
Spowoduje to skopiowanie do katalogu domowego na serwerze.
Będzie to również działać:
źródło
~/
jest rzeczywiście sposób,-r
jest rekurencyjne kopiowanie całego katalogu.Ten błąd wystąpił dla mnie, gdy plik istniał już w lokalizacji docelowej, a istniejący plik miał uprawnienia tylko do odczytu (uniemożliwiając nadpisanie pliku). W moim przypadku właśnie się zalogowałem i usunąłem istniejący plik, co rozwiązało problem.
źródło
Miałem podobny problem, stało się tak, ponieważ
ssh
potrzeba-p xxxx
określenia portu, ascp
potrzeba-P xxxx
określenia portu. Drobne niespójności, tak łatwo przeoczyć :(źródło
scp doesn't work Permission denied (publickey). lost connection for ec2 compute.amazonaws.com
Miałem ten sam problem. Dowiedziałem się, że katalog zawierający mój plik źródłowy nie ma wystarczających uprawnień. Właśnie zmieniłem tryb rekurencyjnie za pomocą:
chmod -R 771 directory_path
na komputerze źródłowym.źródło
Próbowałem skopiować z mojego komputera lokalnego jako
username@localhost
; klucz SSH, którego używałem, nie był zarejestrowany, aby uzyskać dostęp do mojego lokalnego hosta, więc odmawiałem zgody. Kiedy usunąłem to z części źródłowej , zadziałało.źródło