scp копирование через ssh не работает - ошибка доступа запрещена, пожалуйста?

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

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

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

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

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

sudo scp -P XXXX sandrophoto-html.tar.gz usern@server.local:/media/xx/xx/xx

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

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

107
задан 16 August 2012 в 18:45

7 ответов

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

0
ответ дан 16 August 2012 в 18:45

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

scp sourceuser@sourcehost:/path/to/source/file destinationuser@destinationhost:/path/to/destination/

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

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

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

0
ответ дан 16 August 2012 в 18:45

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

sudo scp -r /path2yourFolder/ username@server_Ip:/home/username

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

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

scp -r /path2yourFolder/ username@server_Ip:~/
0
ответ дан 16 August 2012 в 18:45

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

0
ответ дан 16 August 2012 в 18:45

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

0
ответ дан 16 August 2012 в 18:45

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

0
ответ дан 16 August 2012 в 18:45

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

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

chown username downloads

На вашем локальном компьютере сделайте

sudo scp filename.zip username@192.168.0.4:/etc/Myfiles/downloads

Приветствия

0
ответ дан 16 August 2012 в 18:45

Другие вопросы по тегам:

Похожие вопросы: