Conecte-se ao diretório de arquivos do Amazon EC2 usando o Filezilla e o SFTP


326

Criei uma instância do AWS EC2 e desejo poder fazer upload de arquivos para o diretório do servidor usando o FileZilla da maneira mais simples e direta possível.


4
Então, qual é a pergunta? Se você possui credenciais SSH / SFTP, basta usar o FileZilla e conectar-se ao site? Abra o Site Manager, adicione seu site (selecione SFTP como protocolo) e armazene-o. Faça o Site Manager abrir sempre que você abrir o FileZilla, para que você apenas dê um clique duplo no item Site Manager.
Shi

3
Algum problema específico que você está tendo com sua tarefa?
Martin Prikryl

4
Talvez você possa aceitar uma resposta?
Greeso

Respostas:


756

Eu criei um tutorial em vídeo para isso. Apenas verifique:

Conecte-se ao diretório de arquivos do Amazon EC2 usando o FileZilla e SFTP, Video Tutorial

Resumo do tutorial em vídeo acima:

  1. Editar (Preferências)> Configurações> Conexão> SFTP, clique em "Adicionar arquivo de chave"
  2. Navegue até o local do seu arquivo .pem e selecione-o.
  3. Uma caixa de mensagem será exibida solicitando sua permissão para converter o arquivo no formato ppk. Clique em Sim, dê um nome ao arquivo e armazene-o em algum lugar.
  4. Se o novo arquivo for mostrado na lista de Keyfiles, continue com a próxima etapa. Caso contrário, clique em "Adicionar arquivo de chave ..." e selecione o arquivo convertido.
  5. Arquivo> Gerenciador de sites Adicione um novo site com os seguintes parâmetros:

    Host : seu nome DNS público da sua instância do EC2 ou o endereço IP público do servidor.

    Protocolo : SFTP

    Tipo de Logon : Normal

    Usuário : Na documentação : "Para Amazon Linux, o nome de usuário padrão é ec2-user . Para RHEL5, o nome de usuário geralmente é raiz, mas pode ser ec2-user. Para Ubuntu, o nome de usuário é ubuntu . Para SUSE Linux, o nome de usuário é root . No Debian, o nome de usuário é admin . Caso contrário, verifique com seu provedor de AMI. "

    Pressione o botão Conectar - Se o salvamento de senhas tiver sido desativado, você será solicitado a alterar o tipo de logon para 'Solicitar senha'. Diga 'OK' e, ao conectar, no prompt de senha, pressione 'OK' sem inserir uma senha para prosseguir além da caixa de diálogo.

    Nota: O FileZilla descobre automaticamente qual chave usar. Você não precisa especificar a chave após importá-la, conforme descrito acima.

Se você usa o Cyberduck, siga isto .

Verifique esta postagem se você tiver algum problema de permissão.


4
para distribuições de nível gratuito do ubuntu, o nome de usuário será ubuntu.
raia

7
Para adicionar ao que foi mencionado acima, exclua o valor padrão 21 na caixa de texto da porta (padrão para sftp), pois parece funcionar com a porta 22. Começou a funcionar para mim quando excluí a porta.
Rahul

1
Me salvou lá @streak
Abram

1
@Yasitha Chinthaka Eu segui todas as etapas, mas não consigo me conectar à minha instância. É uma instância grande no Windows server 2012. Qualquer ajuda apreciada. Eu adicionei a regra de entrada para SSH no meu grupo de segurança. Existe alguma outra configuração necessária ou alterações desde a última postagem desta resposta?
usar o seguinte comando

Não é possível conectar como em, que tipo de mensagem de erro você recebe? Eu não tentei isso com servidor Windows, porém, mas deve ser o mesmo procedimento .. certificar-se de seu nome de usuário está correto ...
Yasitha Waduge

34

Isso é muito simples se você usou o seu pem file(eu estou usando o usuário do MacOS / windows pode seguir os mesmos passos.)

  1. Basta baixar o FileZilla (estou usando o MacOS - e a versão gratuita baixada é suficiente)

  2. Abra o Gerenciador de sites no FileZilla (⌘S) -> Novo site

insira a descrição da imagem aqui

  1. Coloque o seu nome de host no campo Host .

Exemplo: eca-**-**-**-111.ap-southwest-9.compute.amazonaws.com

  • Selecione Protocolo como SFTP - SSH File Transfer Protocol

  • Selecione o tipo de logon como arquivo-chave

  • Coloque seu nome de usuário no campo Usuário : para mim é ubuntu ( encontre seu usuário ssh )

Nota:

SO vs Nome de usuário

Amazon - usuário ec2

Centos - centos

Debian - administrador ou root

Fedora - usuário ec2

RHEL - usuário ec2 ou root

SUSE - usuário ec2 ou root

Ubuntu - ubuntu ou raiz

  1. Para o campo Arquivo-chave, procure seu arquivo pem: e clique em Conectar

insira a descrição da imagem aqui

  1. Isso é tudo :) divirta-se!

Nota:

(Lembre-se de permitir a conexão SSH ao seu endereço IP do EC2). Caso contrário, você receberá uma mensagem de erro de conexão!

Nota: Permitindo que o seu IP conecte sua instância do aws via SFTP

EC2 -> SecurityGroups -> SSH -> Regras de entrada -> Editar -> Adicionar regra (SSH | TCP | 22 | Meu IP (é obter ip automaticamente | nome da regra) -> Salvar


O filezilla criptografa as chaves do aws no disco ou armazena em texto simples?
precisa saber é

Eu acho que o arquivo de chave já está criptografado, portanto, apenas passa o arquivo como está. não criptografado. Mas se você estiver usando autenticação normal usando nome de usuário e senha com o Filezilla, eles criptografarão a senha.
Elshan

Isso é ótimo, mas queria adicionar uma observação: em vez de usar o nome do host público, usei o endereço IP IPv4 para a entrada Host. Foi quando funcionou para mim.
Bennybear

22

Se alguém estiver seguindo todas as etapas e não tiver êxito, verifique se você está usando o usuário correto. Eu estava tentando usar o "ec2-user", mas precisava usar o "ubuntu".


Eu não estava obtendo sucesso no RedHat e o nome de usuário é "ec2-user".
NOTiFY 15/01/19

Para os usuários do WordPress com o WordPress Certified mais utilizado pela instalação BitNami, ele está em um servidor Ubuntu e, portanto, o ubuntu nome de usuário :)
Peter Højlund Andersen

20

Certifique-se de usar a porta 22. O Filezilla usará como padrão a porta 21 para SFTP.


7

Apenas uma pequena nota à resposta aceita e bem explicada de Yasitha Chinthaka:

Nota: O FileZilla descobre automaticamente qual chave usar. Você não precisa especificar a chave após importá-la, conforme descrito acima.

No meu caso, eu já tinha outros 5 ppks de outras instâncias que eu estava usando no passado (com o ppk da nova instância no final da lista). Adicionei o novo ppk da minha nova instância e ele não me deixou conectar a ele. A mensagem de erro: muitas tentativas / tentativas.

Depois de excluir os ppks não utilizados, finalmente consegui fazer login na instância.

Então não, o Filezilla não é tão inteligente assim ;-)


1
Isso resolveu um problema que eu tinha. Obrigado por publicá-lo!
Mnutsch 15/09/16

4

Você pode usar qualquer cliente FTP. Eu uso o winscp e funciona muito bem. Em todos esses clientes; você pode especificar a chave segura ssh.


4

O FileZilla não funcionou para mim, eu continuava recebendo este erro:

Disconnected: No supported authentication methods available (server sent: publickey)

O que funcionou foi o sftpcomando.

Conecte-se à instância do EC2 com

sftp -i "path/to/key.pem" ec2-user@ec2-54-212-34-84.us-west-2.compute.amazonaws.com

Download de arquivos / diretórios

Para baixar path/to/source/file.txte path/to/source/dir:

lcd ~/Desktop
cd path/to/source
get file.txt
get -r dir

Upload de arquivos / diretórios

Para carregar localpath/to/source/file.txte ~/localpath/to/source/dirpara remotepath/to/dest:

lcd localpath/to/source
cd remotepath/to/dest
put file.txt
put -r dir

Filezilla também têm sftp
Elshan

Mesmo problema com filezilla 3.7. A ferramenta de linha de comando sftp também funcionou para mim.
Soheil Pourbafrani


0

No meu caso, o Filezilla envia o arquivo ppk da AWS para todos os outros servidores FTP aos quais tento me conectar com segurança.

Isso é louco. Existe uma solução alternativa, como está escrito abaixo, mas é feia.

Não se comporta bem como o @Lucio M apontou.

Nesta discussão: https://forum.filezilla-project.org/viewtopic.php?t=30605

n0lqu:

Acordado. No entanto, como não posso controlar a operação do servidor, existe alguma maneira de especificar no FileZilla que um site deve autenticar com uma senha em vez de chave ou vice-versa? Ou diga-lhe para tentar a senha primeiro e depois digitar apenas se a senha falhar? Parece-me que está tentando a chave primeiro e depois não tendo a chance de tentar a senha.

botg (administrador do Filezilla) respondeu:

Não existe essa opção.

n0lqu:

Essa opção poderia ser adicionada ou existem boas soluções alternativas que alguém possa recomendar? No momento, a única solução alternativa que eu conheço é excluir a chave das preferências gerais, adicioná-la novamente ao conectar-se ao site específico que a requer e, em seguida, excluí-la novamente quando terminar, para não atrapalhar outros sites.

botg:

No momento, você pode ter duas instâncias do FileZilla com diretórios de configuração separados (por exemplo, um instalado e um portátil).

timboskratch:

Acabei de ter esse mesmo problema hoje e consegui resolvê-lo alterando o "tipo de logon" da conexão usando uma senha no gerenciador de site. Em vez de "Normal", eu poderia selecionar "Interativo" ou "Solicitar senha" (não tenho muita certeza de qual é a diferença) e, quando tentei me conectar ao site novamente, ele me deu uma solicitação para inserir minha senha e depois conectar com sucesso. Não é o ideal, pois significa que você deve se lembrar e redigitar sua senha toda vez que se conectar, mas é melhor do que instalar duas instâncias do FileZilla. Eu concordo totalmente que seria muito útil no Gerenciador de sites ter opções completas de como você gostaria que o FileZilla se conectasse a cada site que está configurado (se deseja usar uma senha, chave, etc.) Espero que isso seja útil! Tim

Veja também: https://forum.filezilla-project.org/viewtopic.php?t=34676

Assim parece:

Para vários sites FTP com chaves / senhas, use várias instalações do Filezilla, OU, use a mesma chave ppk para todos os servidores.

Eu gostaria que houvesse uma maneira de dizer ao FileZilla qual ppk é para qual site no Site Manger



0

Primeiro, o Filezilla é um cliente / servidor FTP / SFTP. Precisamos usar o cliente para esse fim.

1) Faça o download do cliente a partir do URL: https://filezilla-project.org/

2) Acesse o console de gerenciamento da AWS e depois o EC2. Selecione a instância que você deseja acessar, copie o endereço IP ou DNS da instância e cole-o no nome do host do Filezilla.

Seguir imagem: Amazon Instance Access via FileZilla

3) Em seguida, insira o nome de usuário para a instância que você criou. Para Amazon-ami, será ec2-user e, para outro sistema operacional, seria diferente. Em seguida, digite a senha e a porta que serão 21 ou 22.

4) Em seguida, ele solicitará a chave, que está no formato pem, basta selecionar o arquivo .pem e confirmará a autenticação. Clique em Sim e pronto.

Nota: No seu grupo de segurança do EC2, permita os números de porta 21 e 22, o que for necessário para o acesso ao FTP.


0

tudo o que você precisa fazer é: 1. abrir o gerenciador de sites no filezilla 2. adicionar novo site 3. fornecer endereço e porta do host se a porta não for a porta padrão 4. tipo de comunicação: SFTP 5. arquivo de chave do tipo de sessão 6. colocar nome de usuário 7. escolha o diretório do arquivo principal, mas cuidado com o Windows File Explorer, procure o arquivo ppk como padrão, escolha todos os arquivos no menu suspenso e escolha o seu arquivo pem e pronto.

desde que você adiciona um novo site e configurado na próxima vez em que deseja se conectar, basta escolher o site salvo e conectar-se. É isso.


-5

https://www.cloudjojo.com/how-to-connect-ec2-machine-with-ftp/

  1. Primeiro você precisa instalar um servidor ftp em sua máquina ec2 como o vsftpd.
  2. Configure o arquivo de configuração vsftpd para permitir gravações e portas abertas.
  3. Crie usuário para o cliente ftp.
  4. Conecte-se com o cliente ftp como o filezilla.

Certifique-se de abrir a porta 21 no grupo de segurança aws.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.