scp continua pedindo permissão por quê?

1

Estou tentando fazer o upload / download do arquivo para o meu servidor usando as linhas de comando do ubuntu, mas de alguma forma ele continua me dando negações de permissão. Eu tentei usar -F e -i ambos não funcionam.

Eu tentei algo como

sudo scp -v /path/to/my/file/ ubuntu@ip-xx-xxx-xxx-xx:~/path/to/where/upload
sudo scp -v -i ~/.s/path/to/my/file/ ubuntu@ip-xx-xxx-xxx-xx:~/path/to/where/upload
sudo scp -v -F ~/.ssh/xxx.pem /path/to/my/file/ ubuntu@ip-xx-xxx-xxx-xx:~/path/to/where/upload

acima, está apenas tentando fazer upload. O mesmo para download também, mas é claro, inverteu a ordem, mas não funcionou também. Para download, usei terminal para logar no servidor e já usei algo parecido, mas no reverso sudo scp -v /path/to/my/file/ ubuntu@ip-xx-xxx-xxx-xx:~/path/to/where/upload

EDITAR:

Obtendo erros como esse e também, eu tentei usar o touch e fazer arquivos sem problemas

debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:QgAQzu59hpmTEGkNnOdEeflCYVImcwLLU3qQD7foqbE
debug1: Host 'ip-xxx-xx-xx-xx' is known and matches the ECDSA host key.
debug1: Found key in /home/ubuntu/.ssh/known_hosts:1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/ubuntu/.ssh/id_rsa
debug1: Trying private key: /home/ubuntu/.ssh/id_dsa
debug1: Trying private key: /home/ubuntu/.ssh/id_ecdsa
debug1: Trying private key: /home/ubuntu/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
    
por Dora 16.03.2017 / 21:52

3 respostas

2

As mensagens relevantes estão aqui:

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/ubuntu/.ssh/id_rsa
debug1: Trying private key: /home/ubuntu/.ssh/id_dsa
debug1: Trying private key: /home/ubuntu/.ssh/id_ecdsa
debug1: Trying private key: /home/ubuntu/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

O servidor SSH (o outro computador) ao qual você está se conectando só aceita autenticação de chave pública (em vez de algum outro método, como inserir uma senha) e nenhuma de suas chaves públicas no cliente SSH (o computador em que você está ) foram adicionados ao ~/.ssh/authorized_keys no servidor SSH. Para corrigir isso:

  1. Faça login no servidor SSH como o usuário ubuntu
  2. Copie o conteúdo do arquivo ~/.ssh/id_rsa.pub do cliente SSH (ou um dos outros .pub arquivos em ~/.ssh ) no arquivo ~/.ssh/authorized_keys do servidor SSH
  3. Tente conectar-se ao servidor SSH executando ssh ubuntu@whatever no cliente SSH
por Chai T. Rex 17.03.2017 / 00:37
2

Você tem alguns conjuntos de problemas.

Primeiro você tem que diferenciar a permissão localmente, onde você executa o scp e no servidor.

Segundo, você precisa entender quando você executa o scp com o sudo e executa o scp como root e isso afeta as permissões locais. Executar o scp como root não afeta as permissões no servidor enquanto você está acessando o servidor como ubuntu .

Acho que uma grande parte dos seus problemas começa porque você está executando o scp como root (com o sudo)

Comece com a execução de scp ou ssh como seu usuário comum. Meu palpite é que porque você está rodando o scp como root, suas permissões de ~ / .ssh e suas chaves estão erradas.

sudo chown $YOUR_USER:$YOUR_USER ~$YOUR_USER/.ssh

veja link e link

Em seguida, seu usuário de login precisa ter permissão para acessar arquivos em sua máquina local /path/to/my/file/ e o usuário do servidor, "ubuntu" precisa ter permissões para acessar arquivos em seu servidor, ~/path/to/where/upload

Se você tiver uma pergunta específica além desse conselho, preciso de detalhes específicos.

Nome de usuário local, arquivos exatos que você está transferindo, propriedade e permissões na máquina local e no servidor, ambos ~ / .ssh e arquivos para transferência, e o (s) comando (s) exato (s) que você está executando e todas as saídas.

    
por Panther 17.03.2017 / 17:11
-1

Sua publickey pode não funcionar mais. Tente excluir a impressão digital da chave ECDSA.

Você pode encontrá-lo em seu arquivo /home/user/.ssh/known_hosts em seu computador de mesa (note que .ssh é uma pasta oculta e você deve selecionar View -> Show Hidden Files no menu do gerenciador de arquivos). Eu normalmente apago o arquivo mesmo se houver várias chaves no arquivo.

ssh [email protected] no seu servidor e você será solicitado a aceitar uma nova impressão digital da chave ECDSA. Certifique-se de usar o nome de usuário do seu servidor com os comandos ssh e scp. Finalmente, o usuário do servidor deve ter acesso direto à pasta no servidor em que você copiou os arquivos.

    
por klomp46 16.03.2017 / 23:51