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 pessoal do meu computador, certo? Recebo
scp / Home: permissão negada
Também quando tento: ...@server:/Desktop
, para copiar os arquivos do computador remoto para a minha área de trabalho.
O que estou fazendo de errado?
Comentários
Resposta
Seus comandos estão tentando colocar o novo documento na root (/
) de sua máquina. O que você deseja fazer é transferi-los para seu diretório home (já que você não tem permissão 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 para seu diretório inicial com o atalho ~/
, então o seguinte terá o mesmo efeito:
scp My_file.txt user_id@server:~/
Você pode até sair fora do 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 a 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 inicial:
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
Então, se você quiser copiar o arquivo My_file.txt
do servidor user_id@server
para sua área de trabalho, você deve tentar o seguinte:
scp user_id@server:/path/to/My_file.txt ~/Desktop/
Se o o arquivo My_file.txt
está localizado em seu diretório inicial no servidor, você pode usar novamente o atalho:
scp user_id@server:~/My_file.txt ~/Desktop/
Comentários
- – Eu ‘ tentei: ” ~ / para ‘ Página inicial ‘ agora e também ” ~ /Área de Trabalho/. Ambos resultaram em: My_file.txt 100% 0 0,0 KB / s 00:00, e não consigo ver os arquivos em minhas pastas. O que ainda estou fazendo de errado? Muito obrigado!
- Em seu segundo exemplo de comando, o
~
deve ser protegido de avaliação para ser avaliado no host remoto:\~
por exemplo. - Para lhe agradecer, me registrei no site. Obrigado, você salvou meu dia 🙂
Resposta
Eu vim aqui para “Transferir arquivos usando scp: permissão negada “porque eu tive o mesmo erro.
No meu caso, o arquivo baixado com scp teria sobrescrito um arquivo pertencente ao root, e eu não era root. Em suma, verifique a propriedade do arquivo sendo substituído.
Comentários
- Neste caso, ‘ s porque ele ‘ está tentando gravar em
/Home
e não sendo root, ele não ‘ não tem acesso de gravação fora de~/
- Você me ajuda.
Resposta
O que consertou a “permissão negada” para mim foi, no servidor remoto, alterar a propriedade da pasta para root: (Isso pode acontecer quando você está enviando um arquivo para um usuário não root e o diretório é de propriedade do root! ) 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)
Resposta
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 fonte tenha as permissões necessárias, especialmente permissão de leitura
-rw-r – r–
chmod 744
então copie o arquivo para o destino. Isso será resolvido
Comentários
-
-rw-r--r--
é 644, não 744. Definir permissão de executável em um arquivo que não é realmente executável pode causar problemas.
Resposta
Você tem os argumentos para scp
revertido.É a origem primeiro, depois o destino, como cp
. man scp
para obter mais detalhes.
Resposta
Como Jinzai apontou, a pasta remota pode pertencer ao root. No meu caso, alguém (ou algo) alterou o proprietário da pasta pessoal do usuário para fazer root. Portanto, quando tentei enviar um arquivo para um servidor remoto, ocorreu um erro de permissão negada.
Você pode verificar o proprietário da pasta com o comando ls -l
:
drwxr-xr-x 5 root root 4096 Oct 21 08:16 user2
No exemplo acima, a pasta user2 pertence ao root. Você pode alterar o proprietário desta forma:
chown user2:user2 user2
Há também uma maneira mais rápida de verificar se o servidor está bloqueando um arquivo, scp ou não. Tente criar um arquivo na pasta de destino, por exemplo com touch test_file
. Se você não conseguiu criar um arquivo na pasta, não poderá enviar o arquivo aqui remotamente pelo mesmo usuário.
Resposta
Permissão negada significa que você não é o root do servidor. Você acabou de manter uma conta lá. Nesse caso, você precisa fazer isso:
sudo scp -r /path2yourFolder/ username@server_Ip:/home/username
Isso irá copiar para o seu diretório pessoal no servidor.
Isso também funcionará :
scp -r /path2yourFolder/ username@server_Ip:~/
Resposta
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/
Resposta
Instale uma ferramenta do Windows” mRemoteG “em www.mremoteng.org/
Crie sua conexão SSH na caixa desejada.
Clique no menu “Transferir Arquivo”.
Isso permitirá a transferência de arquivos facilmente do Windows para o Linux.
obrigado.
Resposta
As mesmas permissões se aplicam em ambos os lados do scp. Você obterá esse erro se o usuário não tiver permissão para gravar no destino. Os sintomas parecem implicar a fonte, no entanto, no meu caso, o destino foi criado pelo root e não tinha permissão de gravação para a conta de usuário pretendida.
Resposta
No meu caso, também tentei conceder todas as permissões com -R para a pasta, mas ainda obtive o erro sobre a permissão.
Tive que remover “/” antes do caminho do servidor e da pasta de destino. O motivo é porque Downloads é a primeira pasta que posso listar depois de fazer o ssh para o servidor, por exemplo: ssh [email protected]
Isso funciona:
sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip [email protected]: Downloads
Isso não estava funcionando:
sudo scp -rp /Users/macintosh.vn/Downloads /bbhs_20190301.zip [email protected]: / Downloads
Resposta
Correção fácil. Certifique-se de que VOCÊ é o root. SCP para o remoto e pedirá a senha de root da máquina. Só tinha esse problema que era a solução. Você faz o root deles como root.
Comentários
- Como os logins de root são normalmente desabilitados em sshd_config , você deve mostrar ao OP como para mudar isso (embora ‘ não seja recomendado).
- Por que você insiste em usar root para copiar um (qualquer) arquivo? Observe também a resposta aceita de ~ 7 anos atrás …
Resposta
antes de usar o comando scp, make certifique-se de dar permissões de leitura, gravação e execução a todos os usuários externos. “chmod 777 file_name”
Comentários
- você pode copiar arquivos que não sejam 777
scp My_file.txt user_id@server:
Copia para a pasta inicial do usuário.