scp copy over ssh не работает - разрешение отклонено, пожалуйста?

55

Это сводит меня с ума! Я просто хочу передать один простой файл с ноутбука на сервер.

Я использую ubuntu на обеих машинах.

Итак, у меня есть:

-rwxr-xr-x 1 sandro    414622 2011-10-14 23:42 sandrophoto-html.tar.gz

И я отправляю его, используя:

sudo scp -P XXXX sandrophoto-html.tar.gz [email protected]:/media/xx/xx/xx

И я получаю: scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied

p.s. Я мог бы сделать это по-другому - я хочу отправить файл tar.gz, который находится на моем рабочем столе, на удаленный сервер в папку / media / yadayda

    
задан Edd 14.10.2011 в 23:49
источник

7 ответов

70

У вас есть вещи в правильном порядке из того, что я понимаю, общий способ, который делает scp:

scp [email protected]:/path/to/source/file [email protected]:/path/to/destination/

Судя по вашему вопросу, у вас есть локальный файл, который вы хотите отправить на целевой сервер. Таким образом, у вас есть правильный синтаксис, который хорош!

Если вы получаете отказ в доступе, то вы не используете правильное имя пользователя или что-то не так с аутентификацией. Скорее всего, это потому, что команда sudo работает только локально, для начала, поэтому она не даст вам root в удаленном поле, так что это, вероятно, проблема. Убедитесь, что пользователь, с которым вы регистрируетесь, как на удаленном сервере, имеет права на запись в место, в которое вы пытаетесь записать.

Если проблема заключается в том, что destinationuser не имеет доступа к этому местоположению без sudo, переместите файл в домашнюю папку destinationuser, затем sudo mv файл из оболочки на другом сервере, чтобы поместить его в нужное место.     

ответ дан Anna 15.10.2011 в 00:04
источник
28

Привет, эта же проблема с ошибкой разрешения разрешила это так

Убедитесь, что каталог, который вы копируете на 192.168.0.4 , принадлежит пользователю имя пользователя

chown username downloads

На вашей локальной машине выполните

sudo scp filename.zip [email protected]:/etc/Myfiles/downloads

Приветствия     

ответ дан mainakibui 08.12.2011 в 23:13
13

Permisssion Denied означает, что вы не являетесь корневым сервером. Вы просто держите там счет. Поэтому в этом случае вам нужно сделать это:

sudo scp -r /path2yourFolder/ [email protected]_Ip:/home/username

Это скопирует в ваш домашний каталог на сервере.

Это также будет работать:

scp -r /path2yourFolder/ [email protected]_Ip:~/
    
ответ дан Abhishek Kaushik 28.05.2014 в 18:25
5

У меня была аналогичная проблема: это произошло потому, что ssh занимает -p xxxx для указания порта, а scp занимает -P xxxx , чтобы указать порт. Незначительное несогласованность, поэтому легко пропустить: (

    
ответ дан dirk 15.05.2014 в 04:21
4

Эта ошибка возникла для меня, когда файл уже существовал в целевом местоположении, а существующий файл имел разрешения только для чтения (предотвращение перезаписывания файла). В моем случае я только что вошел в систему и удалил существующий файл и исправил проблему.

    
ответ дан Kevin 15.05.2014 в 20:56
0

Я пытался копировать с моей локальной машины как [email protected] ; ключ SSH, который я использовал, не был зарегистрирован для доступа к моему локальному хосту, поэтому я получил разрешение на отказ. Когда я удалил это из части source , он сработал.

    
ответ дан Chaim Eliyah 25.01.2018 в 19:13
-1

Была та же проблема. Я узнал, что каталог, содержащий мой источник , не имел достаточного разрешения. Поэтому я просто изменил режим рекурсивно, используя: chmod -R 771 directory_path на исходном компьютере.

    
ответ дан Changba 16.02.2013 в 21:40