Próbuję przesłać pliki z komputera zdalnego przy użyciu ssh
do mojego komputera:
scp My_file.txt user_id@server:/Home
To powinno umieścić My_file.txt w folderze domowym na moim komputerze, prawda? dostaję
scp / Home: odmowa dostępu
Również gdy próbuję: ...@server:/Desktop
w celu skopiowania plików ze zdalnego komputera na mój pulpit.
Co ja robię źle?
ssh
permissions
scp
Erez
źródło
źródło
scp My_file.txt user_id@server:
Kopiuje do folderu domowego użytkowników.Odpowiedzi:
Twoje polecenia próbują umieścić nowy dokument w katalogu głównym (
/
) komputera. Co chcesz zrobić, to przenieść je do katalogu domowego (ponieważ nie masz uprawnień do zapisu/
). Jeśli ścieżka do domu jest podobna,/home/erez
spróbuj wykonać następujące czynności:Możesz zastąpić ścieżkę do katalogu domowego skrótem
~/
, aby następujące działania miały ten sam efekt:Możesz nawet całkowicie pominąć ścieżkę po drugiej stronie; oznacza to twój katalog domowy.
Oznacza to, że aby skopiować plik na pulpit, możesz przenieść go do
/home/erez/Desktop/
:lub za pomocą skrótu:
lub używając ścieżki względnej po stronie zdalnej, która jest interpretowana względem twojego katalogu domowego:
Edytować:
Jak już wspomniano @ckhan, musisz także zamienić argumenty, tak musi być
Jeśli więc chcesz skopiować plik
My_file.txt
z serwerauser_id@server
na pulpit, spróbuj wykonać następujące czynności:Jeśli plik
My_file.txt
znajduje się w twoim katalogu domowym na serwerze, możesz ponownie użyć skrótu:źródło
~
należy je chronić przed oceną, aby można je było ocenić na hoście zdalnym:\~
na przykład.Przybyłem tu po „Przesyłanie plików za pomocą scp: odmowa uprawnień”, ponieważ miałem ten sam błąd.
W moim przypadku plik pobrany za pomocą scp nadpisałby plik należący do roota, a ja nie byłem rootem. Krótko mówiąc, sprawdź własność zastępowanego pliku.
źródło
/Home
i nie jest rootem, nie ma dostępu do zapisu na zewnątrz~/
wydaje się, że jest to kwestia zezwolenia
Plik może nie mieć uprawnień do odczytu, ponieważ jest dostarczany do serwera docelowego jako konto źródłowe.
musisz upewnić się, że plik u źródła ma wymagane uprawnienia, zwłaszcza uprawnienia do odczytu
-rw-r - r--
chmod 744
następnie scp plik do miejsca docelowego. Zostanie to rozwiązane
źródło
-rw-r--r--
to 644, a nie 744. Ustawienie uprawnień do pliku wykonywalnego, który nie jest tak naprawdę wykonywalny, może powodować problemy.Co naprawione „brak dostępu” dla mnie było, na zdalnym serwerze, zmienić właściciela folderu, do korzeni: (! Może się to zdarzyć, gdy wysyłasz plik do użytkownika bez uprawnień administratora, a katalog jest własnością root) On urządzenie zdalne (kopiowanie przeznaczenia):
Dla pewności włącz wszystkie uprawnienia do zdalnego folderu: (nie zawsze konieczne):
źródło
Masz argumenty do
scp
odwrócenia. Najpierw źródło, potem celcp
.man scp
po więcej szczegółów.źródło
Odmowa 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
Zainstaluj narzędzie do systemu Windows „mRemoteG” ze strony www.mremoteng.org/
Utwórz połączenie SSH z żądanym urządzeniem.
Kliknij menu „Prześlij plik”.
Umożliwi to łatwe przesyłanie plików z systemu Windows do systemu Linux.
dzięki.
źródło
Amazon Linux AMI
Upewnij się, że musisz ustawić bezwzględną ścieżkę serwera, w domu w obecnym przypadku:
źródło
Te same uprawnienia obowiązują po obu stronach scp. Ten błąd pojawi się, jeśli użytkownik nie będzie miał uprawnień do zapisu w miejscu docelowym. Symptomy wydają się sugerować źródło, jednak w moim przypadku miejsce docelowe zostało utworzone przez użytkownika root i brakowało uprawnienia do zapisu dla zamierzonego konta użytkownika.
źródło
W moim przypadku próbowałem również przyznać wszystkie uprawnienia z opcją -R do folderu, ale nadal wystąpił błąd dotyczący uprawnień.
Musiałem usunąć „/” przed ścieżką docelowego serwera i folderu. Powodem jest to, że pliki do pobrania to pierwszy folder, który mogę wyświetlić po ssh na serwerze, na przykład: ssh [email protected]
To działa:
sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip [email protected]: Pobieranie
To nie działało:
sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip [email protected]: / Downloads
źródło
Łatwa naprawa. Upewnij się, że jesteś rootem. SCP do pilota, a poprosi cię o hasło root do tych maszyn. Właśnie miałem ten problem, który był rozwiązaniem. Zrootujesz je.
źródło
przed użyciem polecenia scp upewnij się, że masz uprawnienia do odczytu, zapisu i wykonywania dla wszystkich na zewnątrz. „chmod 777 nazwa_pliku”
źródło