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?
Vous pouvez utiliser l'option Connect to Server
dans Nautilus telle qu'elle apparaît sur l'image suivante.
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é tri
name__.
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é config
et 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
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
.
Voici les étapes à suivre pour configurer gFTP afin qu’il utilise les clés SSH.
Dans le menu FTP cliquez sur Préférences;
Allez à onglet SSH;
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
Dans le choix de la fenêtre principale de gFTP SSH2 en tant que type de la connexion;
Entrez la cible hôte nom ou IP adresse;
Configurez le SSH Port de la machine cible (s'il ne s'agit pas de la valeur par défaut - 22
);
Entrez ser pour la connexion SSH;
Entrez la phrase Passée de votre clé SSH (s’il en existe);
Frappé Enter.
Vous pouvez monter un répertoire distant (ou l'ensemble du système de fichiers) via l'outil de ligne de commande sshfs
name__. 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:
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 puttygen
qui 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:
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) ...