Transferir arquivos usando scp: permission denied

10

Eu tento transferir arquivos do computador remoto usando ssh para o meu computador:

scp My_file.txt user_id@server:/Home

Isso deve colocar My_file.txt na pasta home no meu próprio computador, certo? Eu recebo

scp/Home: permission denied

Além disso, quando tento: ...@server:/Desktop , para copiar os arquivos do computador remoto para a minha área de trabalho.

O que estou fazendo de errado?

    
por Erez 12.09.2012 / 11:09

9 respostas

21

Seus comandos estão tentando colocar o novo documento na raiz ( / ) da sua máquina. O que você deseja fazer é transferi-los para o diretório home (desde que você não tenha permissões para gravar em / ). Se o caminho para sua casa for algo como /home/erez , tente o seguinte:

scp My_file.txt user_id@server:/home/erez/

Você pode substituir o caminho de seu diretório pessoal pelo atalho ~/ , de modo que o seguinte terá o mesmo efeito:

scp My_file.txt user_id@server:~/

Você pode até deixar o caminho completamente no lado remoto; isso significa seu diretório inicial.

scp My_file.txt user_id@server:

Ou seja, para copiar o arquivo para sua área de trabalho, convém transferi-lo para /home/erez/Desktop/ :

scp My_file.txt user_id@server:/home/erez/Desktop/

ou usando o atalho:

scp My_file.txt user_id@server:~/Desktop/

ou usando um caminho relativo no lado remoto, que é interpretado em relação ao seu diretório pessoal:

scp My_file.txt user_id@server:Desktop/

Editar:

Como @ckhan já mencionado, você também tem que trocar os argumentos, tem que ser

scp FROM TO

Portanto, se você quiser copiar o arquivo My_file.txt do servidor user_id@server para sua área de trabalho, tente o seguinte:

scp user_id@server:/path/to/My_file.txt ~/Desktop/

Se o arquivo My_file.txt estiver localizado em seu diretório pessoal no servidor, você poderá usar novamente o atalho:

scp user_id@server:~/My_file.txt ~/Desktop/
    
por 12.09.2012 / 11:23
3

Eu vim aqui para "Transferir arquivos usando scp: permission denied" porque tive o mesmo erro.

No meu caso, o arquivo baixado com o scp teria sobrescrito um arquivo de propriedade do root, e eu não era root. Em suma, verifique a propriedade do arquivo que está sendo sobrescrito.

    
por 09.10.2012 / 10:20
2

isso parece ser um problema de permissão

O arquivo pode não ter permissões de leitura, pois é entregue ao servidor de destino como a conta de origem.

você precisa garantir que o arquivo na origem tenha permissões necessárias, especialmente permissão de leitura

-rw-r - r -

chmod 744

depois scp o arquivo para o destino. Isso será resolvido

    
por 10.12.2015 / 00:28
2

O que consertou a "permissão negada" para mim foi, no servidor remoto, alterar a propriedade da pasta para raiz: (Isso pode acontecer quando você está enviando um arquivo para um usuário não raiz e o diretório é de propriedade de raiz !) Na máquina remota (copiando dest.):

sudo chown (your username) (remote folder)

Além disso, ative todas as permissões na pasta remota: (nem sempre necessário):

sudo chmod 777 (remote folder)
    
por 24.02.2017 / 19:48
1

Você tem os argumentos para scp invertidos. É a fonte primeiro e depois o destino, como cp . man scp para mais detalhes.

    
por 12.09.2012 / 11:23
1

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 28.05.2014 / 18:28
0

Instale uma ferramenta do Windows "mRemoteG" em www.mremoteng.org /

Crie sua conexão SSH para a caixa desejada.

Clique no menu "Transferir arquivo".

Ele permitirá transferir arquivos facilmente do Windows para o Linux.

obrigado.

    
por 07.03.2016 / 04:25
0

Amazon Linux AMI

Certifique-se de que você precisa definir o caminho absoluto do servidor, de home no caso atual:

scp file.txt SSH-ALIAS:/home/YOUR_USER/
    
por 11.11.2016 / 21:30
-3

antes de usar o comando scp, certifique-se de conceder permissões de leitura, gravação e execução a todos que estiverem fora. "chmod 777 file_name"

    
por 19.03.2015 / 10:01