Tento transferir arquivos do computador remoto usando ssh
para o meu computador:
scp My_file.txt user_id@server:/Home
Isso deve colocar o My_file.txt na pasta inicial do meu computador, certo? eu recebo
scp / Home: permissão negada
Também quando tento ...@server:/Desktop
:, a fim de copiar os arquivos do computador remoto para a minha área de trabalho.
O que estou fazendo errado?
ssh
permissions
scp
Erez
fonte
fonte
scp My_file.txt user_id@server:
Copia para a pasta pessoal dos usuários.Respostas:
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 inicial (já que você não tem permissão para gravar/
). Se o caminho para sua casa for algo parecido com/home/erez
o seguinte:Você pode substituir o caminho para o diretório inicial pelo atalho
~/
, para que o seguinte tenha o mesmo efeito:Você pode até deixar de fora o caminho no lado remoto; isso significa seu diretório inicial.
Ou seja, para copiar o arquivo na área de trabalho, você pode transferi-lo para
/home/erez/Desktop/
:ou usando o atalho:
ou usando um caminho relativo no lado remoto, que é interpretado em relação ao seu diretório pessoal:
Editar:
Como o @ckhan já mencionou, você também precisa trocar os argumentos, ele deve ser
Portanto, se você deseja copiar o arquivo
My_file.txt
do servidoruser_id@server
para a área de trabalho, tente o seguinte:Se o arquivo
My_file.txt
estiver localizado no diretório inicial do servidor, você poderá usar novamente o atalho:fonte
~
deve ser protegido da avaliação para ser avaliado no host remoto:\~
por exemplo.Eu vim aqui para "Transferir arquivos usando scp: permissão negada" porque 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 resumo, verifique a propriedade do arquivo que está sendo substituído.
fonte
/Home
e não ser usuário root, ele não tem acesso de gravação fora~/
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 fonte tenha permissões necessárias, especialmente permissão de leitura
-rw-r - r--
chmod 744
então scp o arquivo para o destino. Isso será resolvido
fonte
-rw-r--r--
é 644, não 744. A configuração da permissão executável em um arquivo que não é realmente executável pode causar problemas.O que fixa a "permissão negada" para mim foi, no servidor remoto, alterar a propriedade pasta para root: (! Isso pode acontecer quando você está enviando um arquivo para um usuário não-root, eo diretório é propriedade de raiz) On a máquina remota (cópia dest.):
Além disso, ative todas as permissões na pasta remota: (Nem sempre é necessário):
fonte
Você tem os argumentos para
scp
reverter. É a fonte primeiro, depois o destino, comocp
.man scp
para mais detalhes.fonte
Permissão negada significa que você não é a raiz do servidor. Você apenas mantém uma conta lá. Portanto, nesse caso, você precisa fazer o seguinte:
Isso será copiado para o diretório inicial no servidor.
Isso também funcionará:
fonte
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á transferir arquivos facilmente do Windows para o Linux.
obrigado.
fonte
Amazon Linux AMI
Certifique-se de que você precisa definir o caminho absoluto do servidor, a partir de casa, no caso atual:
fonte
As mesmas permissões se aplicam nos dois lados do scp. Você receberá 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 pela raiz e não tinha permissão de gravação para a conta de usuário pretendida.
fonte
No meu caso, também tentei conceder toda a permissão com -R para a pasta, mas ainda assim recebi o erro sobre a permissão.
Eu tive que remover "/" antes do caminho do servidor e da pasta de destino. O motivo é porque Downloads é a primeira pasta que posso listar após o ssh no 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
fonte
Correção fácil. Certifique-se de que você é root. SCP para o controle remoto e solicitará a senha de root das máquinas. Só tinha esse problema que era a solução. Você os enraíza.
fonte
Antes de usar o comando scp, certifique-se de fornecer permissões de leitura, gravação e execução para todos os que estão de fora. "chmod 777 file_name"
fonte