web-dev-qa-db-fra.com

Alternative Filezilla ou WinSCP pour Ubuntu

Sous Windows, j'utilise FileZilla pour télécharger des fichiers sur mon site Web WordPress, via sftp, tout en utilisant la clé ssh.

Maintenant, Linux est mon système d'exploitation principal. Depuis un mois, le client FileZilla fonctionnait correctement sous Ubuntu 16.04, mais il se bloque maintenant à chaque démarrage. Je recherche sur Internet et trouve que cela se passe avec beaucoup d'utilisateurs. Malheureusement, le support FileZilla n'a qu'une réponse si nous leur demandons:

Ubuntu 16.04 est un ancien système d’exploitation, utilisez 17.10 ou la dernière version de Debian.

Je ne veux pas utiliser 17.10. Je cherche donc une alternative client FileZilla pour Linux, que je peux utiliser comme client sftp avec la clé ssh.

J'ai trouvé gFTP (qui est un ancien programme et je ne suis pas sûr de son degré de sécurité?), J'ai également constaté que je pouvais utiliser le gestionnaire de fichiers Ubuntu pour me connecter à mon serveur. Est-ce une bonne idée de se connecter au serveur avec Nautilus ou Caja?

En fait, je ne veux pas mettre mon nom d'utilisateur/mot de passe dans la boîte de dialogue qui apparaît lorsque je clique sur Fichier> Se connecter au serveur. Je souhaite plutôt utiliser ma clé .ppk. Comment puis-je ajouter cela dans Nautilus ou Caja?

12
ShahMoeen

Utiliser Nautilus

Vous pouvez utiliser l'option Connect to Server dans Nautilus telle qu'elle apparaît sur l'image suivante.

enter image description here

  1. Le premier exemple - sftp://victoria-pass/home/tri - utilise le paramètre prédéfini Host appelé victoria-pass et monte le répertoire home/ de l'utilisateur distant appelé triname__.

    Pour utiliser cette approche, vous devez créer le fichier de configuration de l'utilisateur pour le client ssh local. Le fichier doit être appelé configet placé dans le répertoire .ssh/ du répertoire de l'utilisateur: ~/.ssh/config. Selon l'exemple, le contenu du fichier devrait être:

    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...        
    

    Changer les permissions du fichier:

    chmod 600 ~/.ssh/config
    

    De plus, vous devriez maintenant pouvoir vous connecter à chacun de ces hôtes à l’aide d’une commande comme suit:

    ssh victoria-pass
    
  2. Le deuxième exemple - sftp://[email protected]:1111/home/tri - montre comment se connecter à un serveur ssh distant (sftp) sans utiliser de fichier ~/.ssh/config prédéfini avec un port ssh personnalisé.

    Le principal inconvénient de cette approche est que si le fichier d’authentification n’est pas ~/.ssh/id_rsa, vous devez le fournir à l’avance avec la commande ssh-add. Par exemple, si le fichier d'authentification s'appelle file.pem:

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

    Je pense que vous devriez le faire à chaque fois que vous redémarrez la machine locale, ou vous devez inclure la commande ci-dessus dans le fichier ~/.profile.


Usung gFTP

Voici les étapes à suivre pour configurer gFTP afin qu’il utilise les clés SSH.

enter image description here

  1. Dans le menu FTP cliquez sur Préférences;

  2. Allez à onglet SSH;

  3. Remplissez le champ SSH Extra Params avec cette valeur:

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

    Changez <user name> avec votre nom d'utilisateur réel. Ou utiliser:

    -o IdentityFile=~/.ssh/id_rsa
    
  4. Dans le choix de la fenêtre principale de gFTP SSH2 en tant que type de la connexion;

  5. Entrez la cible hôte nom ou IP adresse;

  6. Configurez le SSH Port ​​de la machine cible (s'il ne s'agit pas de la valeur par défaut - 22);

  7. Entrez ser pour la connexion SSH;

  8. Entrez la phrase Passée de votre clé SSH (s’il en existe);

  9. Frappé Enter.


Utiliser SSHFS

Vous pouvez monter un répertoire distant (ou l'ensemble du système de fichiers) via l'outil de ligne de commande sshfsname__. Vous pourrez ensuite le manipuler "localement" à votre guise. C'est ma façon préférable. Supposons que le répertoire de montage est ~/mount et que vous souhaitez monter le répertoire de base de l'utilisateur distant:

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

Ou si vous avez créé le fichier ~/.ssh/config:

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

En outre, vous pouvez également créer une entrée /etc/fstab - references:


Convertir la clé PPK

Veuillez noter que si vous avez déjà utilisé PPK clé, ce qui signifie PuTTY Private Key , vous devez le convertir car, contrairement à CloneZilla, les outils ci-dessus ne peuvent pas lire ce format. Pour cela, vous devez utiliser l'outil puttygenqui fait partie du paquetage PuTTY-tools:

Sudo apt install PuTTY-tools

Maintenant, vous pouvez convertir la clé de cette manière:

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

Merci à @ steeldriver pour cette note. Voici le source et quelques références supplémentaires:


Selon la sécurité

Bien que toutes les approches utilisent la même méthode de connexion, SSH, la sécurité qu’elles fournissent devrait être équivalente. de Wikipedia :

Secure Shell (SSH) est un protocole de réseau cryptographique permettant d'exploiter des services réseau en toute sécurité sur un réseau non sécurisé ... SSH fournit un canal sécurisé sur un réseau non sécurisé dans une architecture client-serveur, en connectant une application client SSH à un serveur SSH ...

Le cryptage utilisé par SSH est destiné à assurer la confidentialité et l'intégrité des données sur un réseau non sécurisé, tel qu'Internet ... SSH utilise une cryptographie à clé publique pour authentifier l'ordinateur distant et lui permettre d'authentifier l'utilisateur, si nécessaire ...

Une solution consiste à utiliser des paires de clés public-privé générées automatiquement pour chiffrer simplement une connexion réseau, puis à utiliser l'authentification par mot de passe pour se connecter ...

Une autre consiste à utiliser une paire de clés publique-privée générée manuellement pour effectuer l'authentification, permettant aux utilisateurs ou aux programmes de se connecter sans avoir à spécifier de mot de passe. Dans ce scénario, n'importe qui peut produire une paire correspondante de clés différentes (publiques et privées) ...

13
pa4080