scp copy sobre ssh não funciona - permissão negada erro, por favor?

58

Isso está me deixando louca! Eu só quero transferir um arquivo simples do laptop para o servidor.

Estou usando o Ubuntu em ambas as máquinas.

Então eu tenho:

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

Estou enviando-o usando:

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

E eu recebo: scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied

p.s. Eu poderia estar fazendo isso de outra maneira - eu quero enviar o arquivo tar.gz que está localizado na minha área de trabalho, para o servidor remoto na pasta / media / yadayda

    
por Edd 14.10.2011 / 23:49

7 respostas

72

Você tem as coisas na ordem certa pelo que eu entendi, a maneira geral com que um scp é feito é:

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

A julgar pela sua pergunta, você tem um arquivo local que deseja enviar para o servidor de destino. Então você tem a sintaxe certa, que é boa!

Se você está recebendo permissão negada, então você não está usando o nome de usuário correto ou algo está errado com a autenticação. Provavelmente, é porque o comando sudo só funciona localmente, para iniciantes, por isso não lhe dará raiz na caixa remota, então esse é provavelmente o problema. Certifique-se de que o usuário em que você está efetuando login, como no servidor remoto, tenha permissões de gravação para o local em que você está tentando gravar.

Se o problema for o destinationuser não tiver acesso a esse local sem sudo, mova o arquivo para a pasta home do destinatário e sudo mv o arquivo do shell no outro servidor para colocá-lo no local correto.

    
por Anna 15.10.2011 / 00:04
28

Oi teve o mesmo problema de erro de permissão resolvido desta forma

Verifique se o diretório para o qual você está copiando 192.168.0.4 é de propriedade do usuário nome de usuário

chown username downloads

Na sua máquina local, faça

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

Felicidades

    
por mainakibui 08.12.2011 / 23:13
15

Permissão negada significa que você não é a raiz do servidor. Você acabou de segurar uma conta lá. Então, nesse caso, você precisa fazer isso:

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

Isto irá copiar para o seu diretório pessoal no servidor.

Isso também funcionará:

scp -r /path2yourFolder/ username@server_Ip:~/
    
por Abhishek Kaushik 28.05.2014 / 18:25
5

Eu tive um problema semelhante, porque ssh leva -p xxxx para especificar a porta, enquanto scp usa -P xxxx para especificar a porta. Inconsistência menor, tão fácil de perder: (

    
por dirk 15.05.2014 / 04:21
4

Esse erro ocorreu para mim quando o arquivo já existia no local de destino e o arquivo existente tinha permissões somente leitura (impedindo que o arquivo fosse sobrescrito). No meu caso, eu acabei de logar e deletei o arquivo existente e isso corrigiu o problema.

    
por Kevin 15.05.2014 / 20:56
0

Eu estava tentando copiar da minha máquina local como username@localhost ; a chave SSH que eu estava usando não foi registrada para acessar meu host local, então eu estava recebendo permissão negada. Quando eu removi isso da parte source , funcionou.

    
por Chaim Eliyah 25.01.2018 / 19:13
-1

Tive o mesmo problema. Descobri que o diretório que contém meu arquivo source não tinha permissão suficiente. Então eu mudei o modo de forma recursiva usando: chmod -R 771 directory_path na máquina de origem.

    
por Changba 16.02.2013 / 21:40

Tags