Tentei fazer o SSH no meu servidor AWS Ubuntu e copiar o diretório para minha máquina local. Durante todo o processo, experimentei diferentes erros de permissão de arquivo (mencionados abaixo).
Existe uma permissão de arquivo específica necessária para o arquivo .pem que permita o SSH e o SCP?
Ou preciso alterar a permissão do arquivo duas vezes - uma para o SSH e outra para o SCP após o login?
Aqui estão os comandos que estou usando:
SSH:
ssh -i sentiment.pem [email protected]
Copie do computador remoto para o local com:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Estou em um Mac OS X 10.7.5.
Tentativa e erro:
1.) Após o download inicial do arquivo .pem, suas permissões foram definidas para, I THINK: 0644
-rw-r - r - @ 1 Toga staff 1692 18 de fevereiro às 21:27 sentiment.pem
Eu tentei fazer o SSH via terminal e recebi o seguinte:
WARNING: UNPROTECTED PRIVATE KEY FILE!
Permissions 0644 for 'sentiment.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: sentiment.pem
Permission denied (publickey).
2.) Atualizei as permissões do arquivo para: chmod 660 sentiment.pem
Após a atualização, as permissões foram definidas para:
-rw-rw ---- @ 1 Staff Toga 1692 18 de fevereiro às 21:27 sentiment.pem
Eu tentei fazer o SSH via terminal e recebi o seguinte:
WARNING: UNPROTECTED PRIVATE KEY FILE!
Permissions 0660 for 'sentiment.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: sentiment.pem
Permission denied (publickey).
3.) Atualizei as permissões do arquivo para: chmod 600 sentiment.pem
Após a atualização, as permissões foram definidas para:
-rw ------- @ 1 Toga staff 1692 18 de fev 21:27 sentiment.pem
Eu então tentei SSH via terminal e foi bem-sucedido !!
4.) Agora logado, executei o comando a para copiar o diretório remoto para o meu computador local com:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Que retorna:
Permission denied (publickey).
Comandos SCP tentados:
1.) adicionou o comando -i e referenciou o arquivo .pem:
scp -i sentiment.pem [email protected]: / home / ubuntu / sentimentfolder / Usuários / Toga / Desktop / sentimentlocal
2.) adicionou o comando -i, referenciou o arquivo .pem e alterou o usuário da AWS para ec2-user:
scp -i sentiment.pem [email protected]: / home / ubuntu / sentimentfolder / Usuários / Toga / Desktop / sentimentlocal
3.) adicionou o comando -i, referenciou o filem .pem, alterou o usuário da AWS para ec2-user e adicionou o caminho completo do arquivo para o local do arquivo .pem:
scp -i /Users/Toga/Desktop/rollup/Personal/Serial_Project_Starter/sentiment/sentiment.pem [email protected]: / home / ubuntu / sentiment / Usuários / Toga / Desktop / sentimentlocal
fonte
Respostas:
Visite aqui Como conectar-se ao Amazon EC2 remotamente usando SSH ou consulte abaixo.
Como conectar-se ao Amazon EC2 remotamente usando SSH:
Crie um diretório:
Mova o arquivo .pem baixado para o diretório .ssh que acabamos de criar:
Altere as permissões do arquivo .pem para que somente o usuário root possa lê-lo:
Crie um arquivo de configuração:
Digite o seguinte texto nesse arquivo de configuração:
Salve esse arquivo.
Use o comando ssh com seu nome de host DNS público para conectar-se à sua instância.
por exemplo:
fonte
scp -r
.chmod 400 {keyfile}.pem
é o que a amazon instruiu e funciona.fonte
Parece que você não deve usar o endereço IP, mas o nome completo do host do sistema no comando SCP. Os documentos da AWS descrevem isso em http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html na seção "Transferindo arquivos para instâncias Linux / Unix do Linux / Unix do Linux / Unix com SCP".
E use
-r
para copiar diretórios.E observe que o nome de usuário padrão é diferente para imagens diferentes:
Então, use este comando:
fonte
A "Permissão negada (chave pública)" é do servidor remoto; portanto, você está usando a chave errada, não é permitido se conectar ou há um erro de digitação no arquivo remoto remote_keys.
fonte
e
fonte
ssh
comando (e também forneça uma referência, se possível). BTW, ochmod 400
foi fornecido em uma resposta há nove meses.