Alternativa Filezilla ou WinSCP para Ubuntu

12

No Windows, estou usando o FileZilla para carregar / baixar arquivos no meu site WordPress, via sftp, enquanto uso a tecla ssh.

Agora o Linux é o meu sistema operacional principal. No último mês, o cliente FileZilla estava funcionando bem no Ubuntu 16.04, mas agora ele falha sempre que eu o inicio. Pesquisei na internet e descobri que isso está acontecendo com muitos usuários. Infelizmente, o suporte ao FileZilla tem apenas uma resposta se perguntarmos:

O Ubuntu 16.04 é um sistema operacional antigo, use a versão mais recente 17.10 ou Debian.

Eu não quero usar 17.10. Então, estou procurando a alternativa do cliente FileZilla para Linux, que eu posso usar como cliente sftp com a chave ssh.

Encontrei o gFTP (que é um programa antigo e não tenho certeza do quanto é seguro?), Também descobri que posso usar o gerenciador de arquivos Ubuntu para conectar-me ao meu servidor. É uma boa ideia conectar-se ao servidor enquanto usa o Nautilus ou Caja?

Na verdade, não quero colocar meu nome de usuário / senha na caixa de diálogo que aparece quando clico em Arquivo> Conectar ao servidor. Em vez disso, quero usar minha .ppkchave. Como posso adicionar isso no Nautilus ou Caja?

ShahMoeen
fonte
Eu só quero esclarecer melhor minha pergunta. Na verdade, não quero colocar meu nome de usuário / senha na caixa de diálogo que aparece quando clico em Arquivo> Conectar ao servidor. Em vez disso, quero usar a chave .ppk. Como posso adicionar isso no Nautilus ou Caja?
ShahMoeen
1
O que há de errado com a versão no repo 16.04?
RonJohn
2
É o Ubuntu e não os desenvolvedores do Filezilla que mantêm a ramificação do Filezilla para 16.04, por isso é natural que os desenvolvedores do Filezilla simplesmente digam para você atualizar, porque eles não são responsáveis ​​por como a versão no Ubuntu 16.04 se comporta. Tente abrir o Filezilla a partir de uma janela do terminal para que, se travar, você possa receber uma mensagem de erro ou rastrear no console, compare-o com os bugs relatados existentes no Filezilla e, se novo, faça um novo relatório.
precisa
2
é uma maravilha como o ubuntu freia convenientemente versões antigas, forçando o ppl a atualizar; mas é isso que você obtém por ter uma borda sangrenta / instável, você recebe um tapa na cabeça com um taco de beisebol a cada 6 meses ..; tente fazer o downgrade filezila
user688056

Respostas:

14

Usando o Nautilus

Você pode usar a opção Connect to Serverno Nautilus, conforme mostrado na próxima imagem.

insira a descrição da imagem aqui

  1. O primeiro exemplo - sftp://victoria-pass/home/tri- usa o host predefinido chamado victoria-passe monta o home/diretório do usuário remoto chamado tri.

    Para usar essa abordagem, você deve criar o arquivo de configuração do usuário para o cliente ssh local. O arquivo deve ser chamado confige colocado no diretório .ssh/em home do usuário: ~/.ssh/config. De acordo com o exemplo, o conteúdo do arquivo deve ser:

    Host victoria-pass             # this is as 'nickname' of the connection
        HostName victoria.org      # or use the IP address
        IdentityFile ~/.ssh/id_rsa # or provide the fill path to another key
        User tri                   # use the actual name of the remote user
        Port 1111                  # provide the actual port of the remote server
        # other parameters...
    
    # setup each another Host in the same way...        

    Altere as permissões do arquivo:

    chmod 600 ~/.ssh/config
    

    Além disso, agora você deve conseguir conectar-se a cada um desses hosts por um comando como:

    ssh victoria-pass
    
  2. O segundo exemplo - sftp://[email protected]:1111/home/tri- mostra como se conectar a um servidor ssh (sftp) remoto sem usar ~/.ssh/configarquivo predefinido com uma porta ssh personalizada.

    Os principais contras dessa abordagem é que, se o arquivo de autenticação não estiver, ~/.ssh/id_rsavocê deve fornecê-lo antecipadamente pelo comando ssh-add. Por exemplo, se o arquivo de autenticação for chamado file.pem:

    ssh-add /full/path/to/the/authentication/file.pem 
    

    Eu acho que você deve fazer isso sempre que reiniciar a máquina local ou incluir o comando acima no ~/.profilearquivo.


Usung gFTP

Aqui estão as etapas de como configurar o gFTP para usar as chaves SSH.

insira a descrição da imagem aqui

  1. No menu FTP, clique em Preferências ;

  2. Vá para a guia SSH ;

  3. Preencha o campo Parâmetros extras SSH com este valor:

    -o IdentityFile=/home/<your user>/.ssh/id_rsa
    

    Mude <user name>com seu nome de usuário real . Ou use:

    -o IdentityFile=~/.ssh/id_rsa
    
  4. Na janela principal do gFTP, escolha SSH2 como tipo de conexão;

  5. Digite o nome do host de destino ou o endereço IP ;

  6. Configure a porta SSH da máquina de destino (se não for o padrão - 22);

  7. Digite Usuário para a conexão SSH;

  8. Digite de sua chave SSH Passe frase (se houver algum);

  9. Hit Enter.


Usando SSHFS

Você pode montar um diretório remoto (ou todo o sistema de arquivos) por meio da ferramenta de linha de comando sshfs. Então você pode manipulá-lo "localmente" como desejar. Esta é a minha maneira preferida. Vamos supor que o diretório de montagem seja ~/mounte você deseja montar o diretório inicial do usuário remoto:

sshfs [email protected]:/home/<user> /home/<local-user>/mount/

Ou se você criou o ~/.ssh/configarquivo:

sshfs host-name:/home/<remote-user> /home/<local-user>/mount/

Além disso, você também pode criar /etc/fstabreferências de entrada:


Converter a chave PPK

Observe que se você já usou a chave PPK , o que significa PuTTY Private Key , você deve convertê-la porque, ao contrário do CloneZilla, as ferramentas acima não podem ler este formato. Para isso, você deve usar a ferramenta puttygenque faz parte do pacote putty-tools:

sudo apt install putty-tools

Agora você pode converter a chave desta maneira:

puttygen input-key-filename.ppk -O private-openssh -o output-key-filename.pem

Obrigado a @steeldriver por esta nota. Aqui está a fonte e algumas referências adicionais:


De acordo com a segurança

Embora todas as abordagens usem o mesmo método de conexão - SSH - a segurança que elas fornecem deve ser equivalente. Da Wikipedia :

O Secure Shell (SSH) é um protocolo de rede criptográfico para operar serviços de rede com segurança em uma rede não segura ... O SSH fornece um canal seguro em uma rede não segura em uma arquitetura cliente-servidor, conectando um aplicativo cliente SSH a um servidor SSH ...

A criptografia usada pelo SSH tem como objetivo fornecer confidencialidade e integridade de dados em uma rede não segura, como a Internet ... O SSH usa criptografia de chave pública para autenticar o computador remoto e permitir a autenticação do usuário, se necessário ...

Uma maneira é usar pares de chaves público-privado gerados automaticamente para criptografar simplesmente uma conexão de rede e usar a autenticação de senha para fazer logon ...

Outra é usar um par de chaves público-privado gerado manualmente para executar a autenticação, permitindo que usuários ou programas efetuem login sem precisar especificar uma senha. Nesse cenário, qualquer pessoa pode produzir um par correspondente de chaves diferentes (públicas e privadas) ...

pa4080
fonte
Obrigado por sua resposta. na verdade, não quero colocar meu nome de usuário / senha na caixa de diálogo que aparece quando clico em Arquivo> Conectar ao servidor. Em vez disso, quero usar a chave .ppk. Como posso adicionar isso no Nautilus ou Caja?
ShahMoeen
@ ShahMoeen, eu terminei.
precisa
2
@ ShahMoeen, consulte Como converter o Filezilla PPK em chave compatível com openssh sftp . Como alternativa, se você ainda tem acesso ao Windows, como converter a chave .ppk em SST do PuTTY
steeldriver
Obrigado @ pa4080 pela sua resposta gentil e detalhada. Eu fiz todos os passos que você pediu com o gFTP, mas infelizmente não funcionou. Na tela principal de gFTP depois de entrar host, porta e usuário detalhes quando eu pressione enter, começou ligando mas isso nunca terminará, no fundo eu posso vê-lo parar em "Protocolo de Inicialização"
ShahMoeen
@ steeldriver muito obrigado, finalmente eu fiz isso com gFTP. Obrigado a todos por sua ajuda, BTW vocês vão me informar qual método você usa e por quê?
ShahMoeen