OpenSSH est la meilleure ressource pour vous aider à commencer à configurer un service ssh sur une machine hôte utilisant Ubuntu . Cela vous permettra d'utiliser le protocole de transfert de fichiers SSH (également le protocole de transfert de fichiers sécurisé ou SFTP) pour accéder à, transférer et gérer des fichiers sur SSH à partir d'un ordinateur client.
Vue d'ensemble de la solution
- Sur Ubuntu, vous pouvez configurer
OpenSSH server
un ordinateur hôte et un utilisateur peut ensuite utiliser ssh
pour se connecter du client au serveur hôte en utilisant uniquement un nom d'utilisateur et un mot de passe. Notez cependant que l’authentification par clé publique est recommandée.
"Assurez-vous d'avoir un mot de passe fort avant d'installer un serveur SSH (vous souhaiterez peut-être désactiver complètement les mots de passe )"
- Les comptes d'utilisateurs administratifs créés sur l'hôte disposeront de privilèges sudo, contrairement aux comptes d'utilisateur standard créés sur l'hôte.
Installez et configurez votre serveur OpenSSH sur l'hôte
Pour installer un serveur OpenSSH sur l'hôte:
sudo apt-get install openssh-server
Donnez à votre hôte une adresse IP statique pour pouvoir vous y connecter de manière fiable:
nm-connection-editor
Pour configurer votre serveur OpenSSH , "commencez par faire une sauvegarde de votre fichier sshd_config en le copiant dans votre répertoire personnel ou en effectuant une copie en lecture seule dans / etc / ssh en effectuant:"
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults
sudo chmod a-w /etc/ssh/sshd_config.factory-defaults
"Une fois que vous avez sauvegardé votre sshd_config
fichier, vous pouvez modifier n'importe quel éditeur de texte, par exemple:"
sudo -H gedit /etc/ssh/sshd_config
Vous devez redémarrer votre service ssh sur l'hôte pour que ces modifications prennent effet
sudo service ssh restart
Considérez les mesures de sécurité suivantes
- N'activez pas le transfert de port sur votre routeur: lorsqu'un tiers demande à votre routeur de se connecter au port 22, etc., votre routeur ne se conforme pas à moins que vous ayez activé le transfert de port.
- Désactiver la connexion root: commentez
PermitRootLogin without-password
; ajouter PermitRootLogin no
à l'hôte/etc/ssh/sshd_config
- Choisissez un port SSH non standard: commentez
Port 22
; ajouter Port <new-port-number>
à l'hôte/etc/ssh/sshd_config
- Autoriser uniquement les connexions locales: Ajouter
ListenAddress 192.168.0.10
- Autoriser certains utilisateurs sur certains ports: Ajouter
AllowUsers <username>@<IP_address_1> <username>@<IP_address_2>
ou AllowUsers <username>@111.222.333.*
à l'hôte/etc/ssh/sshd_config
- Autoriser uniquement les connexions par clé RSA (sans mot de passe): ajoutez le contenu de
~/.ssh/id_rsa.pub
chaque client en tant que nouvelle ligne d'hôte ~/.ssh/authorized_keys
. Puis ajoutez PasswordAuthentication no
à à l'hôte/etc/ssh/sshd_config
- Tentatives de piratage des attaquants lents: utilisez ufw (pare-feu simple) sur l'hôte pour classer la limite des connexions entrantes à 10 / minute:
sudo apt-get install ufw && sudo ufw limit OpenSSH
- Pour plus d'idées, voir Garder l'accès SSH sécurisé
Si vous estimez que vous devez le faire, activez-le PasswordAuthentication
dans votre sshd_config
fichier
Trouvez la ligne avec la phrase PasswordAuthentication
et faites-la lire:
PasswordAuthentication yes
Enregistrez votre nouveau sshd_config
fichier, puis redémarrez le ssh
service de l'hôte :
sudo service ssh restart
Si vous avez besoin d'un accès Internet, configurez la redirection de port sur votre routeur local pour diriger le trafic sur votre serveur OpenSSH.
Notez que le ssh
service du port de l'hôte écoute dans le sshd_config
fichier et configure votre routeur pour qu'il transfère le trafic TCP / UDP destiné à ce port à l'adresse IP de votre serveur OpenSSH.
Se connecter à l'hôte et se connecter via une ligne de commande ou un terminal
Pour ouvrir un terminal shell SFTP en tant <username>
qu'hôte, ouvrez un terminal sur le client et entrez la commande suivante, en remplaçant 123.123.1.23
par l'adresse IP de l'hôte:
sftp <username>@123.123.1.23
Si vous avez modifié le numéro de port que le serveur OpenSSH de l'hôte écoute, procédez comme suit:
sftp -P <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
Pour ouvrir un terminal shell SSH en tant <username>
qu'hôte, ouvrez un terminal sur le client et entrez la commande suivante, en remplaçant 123.123.1.23
par l'adresse IP de l'hôte:
ssh <username>@123.123.1.23
Si vous avez modifié le numéro de port que le serveur OpenSSH de l'hôte écoute, procédez comme suit:
ssh -p <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
Connectez-vous à l'hôte et connectez-vous via le gestionnaire de fichiers GUI (par exemple, Nautilus) pour obtenir un accès SFTP plus visuel et permettre les transferts de fichiers
- Ouvrez Nautilus sur le client
- Sélectionnez Fichier> Se connecter au serveur.
- Type:
SSH
- Serveur: entrez l'adresse IP de l'hôte
- Port: numéro de port spécifié dans le
sshd_config
fichier de l'hôte
- Nom d'utilisateur: nom d'utilisateur
- Mot de passe: mot de passe
En 14.04:
- Ouvrez Nautilus sur le client
- Connecter au serveur
- Tapez: `ssh @ 123.123.1.23:
Créer des comptes d'utilisateur standard sur l'hôte avec des autorisations de fichier limitées en dehors de leur dossier de base
Les autorisations de fichier appropriées en place sur l'hôte garantissent que chaque utilisateur standard (sans privilèges sudo) que vous créez sur l'hôte sera propriétaire de son /home/new_user
répertoire, mais dispose d'autorisations limitées avec le reste de la structure de répertoires.
- Des autorisations limitées ne signifient pas nécessairement qu'ils ne peuvent pas afficher les noms de fichiers et la structure des répertoires.
J'espère que c'est utile!