Votre guide d'utilisation de SSH



Essayez Notre Instrument Pour Éliminer Les Problèmes

SSH est un protocole réseau qui fonctionne dans une console. Le client SSH le plus couramment utilisé est PuTTy. L'image ci-dessous montre une session SSH établie. Il est facile à utiliser et rapide. La plupart des professionnels de l’informatique gèrent l’ensemble du réseau uniquement via SSH en raison de la sécurité et de l’accès rapide / facile pour effectuer des tâches d’administration et de gestion sur le serveur. Toute la session en SSH est cryptée - Les principaux protocoles pour SSH sont SSH1 / SSH-1 et SSH2 / SSH-2. SSH-2 est le dernier, plus sécurisé que SSH-1. Un système d'exploitation Linux a un utilitaire intégré appelé Terminal pour accéder à la console et une machine Windows nécessite un client SSH (par exemple PuTTy).



mastic



Accès à un hôte distant à l'aide de SSH



Pour accéder à un hôte / machine distant à l'aide de SSH, vous devez disposer des éléments suivants:

à) PuTTy (client SSH gratuit)
b) Nom d'utilisateur du serveur SSH
c) Mot de passe du serveur SSH
d) Port SSH qui est généralement 22 mais comme 22 est la valeur par défaut, il devrait être changé pour un port différent pour éviter les attaques sur ce port.

Dans une machine Linux, le nom d'utilisateur root est l'administrateur par défaut et contient tous les droits d'administration.

Dans Terminal, la commande suivante lancera une connexion au serveur.

ssh root@192.168.1.1
où, root est le nom d'utilisateur et 192.168.1.1 est l'adresse de l'hôte

Voici à quoi ressemble le terminal:

Terminal

Vos commandes seront tapées après le symbole $ . Pour obtenir de l'aide avec n'importe quelle commande dans terminal / putty, utilisez la syntaxe:

homme ssh
commande homme

man, suivi de n'importe quelle commande retournera les instructions de commande à l'écran

Donc, ce que je vais faire maintenant, c'est SSH en utilisant PuTTy dans mon système d'exploitation Debian fonctionnant sur VMWare.

Mais avant de faire cela, je dois activer SSH en me connectant à ma VM Debian - Si vous venez d'acheter un serveur auprès d'une société d'hébergement, vous pouvez leur demander d'activer SSH pour vous.

Pour activer ssh, utilisez
sudo /etc/init.d/ssh redémarrer

Puisque j'utilise Ubuntu et que ssh n'a pas été installé, donc
Pour installer ssh, utilisez ces commandes
sudo apt-get install openssh-client
sudo apt-get install openssh-serveur

Et voici ce que j'ai, connecté à SSH via PuTTy:

ssh

Maintenant, voici ce qu'il faut pour configurer SSH et établir une session via PuTTy - Ci-dessous, je vais aborder certaines fonctionnalités avancées de base qui commenceront lentement à vous donner une meilleure vue d'ensemble du scénario.

Le fichier de configuration ssh par défaut se trouve à l'adresse: / etc / ssh / sshd_config
Pour afficher le fichier de configuration, utilisez: cat / etc / ssh / sshd_config
Pour modifier le fichier de configuration, utilisez: vi / etc / ssh / sshd_config ou nano / etc / ssh / sshd_config

Après avoir modifié un fichier, utilisez CTRL + X et appuyez sur la touche Y pour l'enregistrer et le quitter (éditeur nano)

Le port SSH peut être modifié à partir du fichier de configuration, le port par défaut est 22. Les commandes de base, cat, vi et nano fonctionneront également pour d'autres choses. Pour en savoir plus sur les commandes en particulier, utilisez la recherche Google.

Si vous apportez des modifications à un fichier de configuration, un redémarrage est nécessaire pour ce service. En allant plus loin, supposons que nous souhaitons maintenant changer notre port, donc ce que nous allons faire est de modifier le fichier sshd_config, et j'utiliserais

nano / etc / ssh / sshd_config

port-ssh

Vous devez être connecté en tant qu'administrateur ou utiliser sudo nano / etc / ssh / sshd_config pour modifier le fichier. Une fois édité, redémarrez le service ssh, sudo /etc/init.d/ssh redémarrer

Si vous modifiez un port, assurez-vous de l'autoriser dans vos IPTABLES, si vous utilisez le pare-feu par défaut.

iptables -I INPUT -p tcp –dport 5000 -j ACCEPTER
/etc/rc.d/init.d/iptables save

Interrogez les iptables pour confirmer si le port est ouvert
iptables -nL | grep 5000

Il y a plusieurs directives dans le fichier de configuration, comme indiqué précédemment, il existe deux protocoles pour SSH (1 et 2). S'il est défini sur 1, changez-le en 2.

Voici un peu de mon fichier de configuration:

# Fichier de configuration généré par le package
# Voir la page de manuel sshd_config (5) pour plus de détails

# Quels ports, adresses IP et protocoles nous écoutons
Port 5000 remplacé le numéro 22 par le port
# Utilisez ces options pour restreindre les interfaces / protocoles auxquels sshd se liera
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocole 2 a remplacé le protocole 1 par 2

n'oubliez pas de redémarrer le service après avoir apporté des modifications

Root est l'administrateur, et il est recommandé de le désactiver, sinon si vous êtes ouvert aux connexions à distance, vous risquez de devenir l'objet d'une attaque par force brute ou d'autres vulnérabilités ssh - les serveurs Linux sont les boîtes les plus appréciées des pirates la directive ConnexionGraceTime , définit une limite de temps pour que l'utilisateur se connecte et s'authentifie, si ce n'est pas le cas, la connexion se ferme - laissez cela par défaut.

# Authentification:
ConnexionGraceTime 120
PermitRootLogin non
StrictModes oui

Une fonctionnalité super cool, est le Authentification par clé (PubkeyAuthentication) - Cette fonctionnalité vous permet de configurer uniquement l'authentification par clé, comme nous le voyons avec les serveurs Amazon EC3. Vous ne pouvez accéder au serveur qu'en utilisant votre clé privée, il est hautement sécurisé. Pour que cela fonctionne, vous devez générer une paire de clés et ajouter cette clé privée à votre machine distante, puis ajouter la clé publique au serveur afin qu'il soit accessible à l'aide de cette clé.

PubkeyAuthentication oui
AuthorizedKeysFile .ssh / authorized_keys
Authentification RSAA oui
Mot de passeAuthentification non

Cela refusera tout mot de passe et n'autorisera l'accès des utilisateurs qu'avec une clé.

Dans un réseau professionnel, vous informerez généralement vos utilisateurs de ce qu'ils sont autorisés à faire ou non, ainsi que de toute autre information nécessaire.

Le fichier de configuration à éditer pour les bannières est: / etc / motd
Pour ouvrir le fichier dans l'éditeur, tapez: nano / etc / motd ou sudo / etc / motd

Modifiez le fichier, comme vous le feriez dans le bloc-notes.

Vous pouvez également placer la bannière dans un fichier et le référencer dans le fichier / etc / motd

par exemple: nano banner.txt créera un fichier banner.txt et ouvrira immédiatement l'éditeur.

Modifiez la bannière et ctrl + x / y pour la sauvegarder. Ensuite, référencez-le dans le fichier motd en utilisant

Banner /home/users/appualscom/banner.txt OU peu importe, le chemin du fichier est.

Tout comme la bannière, vous pouvez également ajouter un message avant l'invite de connexion, le fichier à modifier est / etc / issue

Tunnel SSH

Le tunnel SSH vous permet de canaliser le trafic de votre machine locale vers une machine distante. Il est créé via les protocoles SSH et est chiffré. Consultez l'article sur Tunnel SSH

Session graphique sur tunnel SSH

Activez la session graphique / gui en décommentant la ligne suivante
X11Forwarding oui

Du côté du client, la commande serait:
ssh -X root@10.10.10.111

Vous pouvez exécuter un programme comme Firefox, etc. en utilisant des commandes simples:
Firefox

Si vous obtenez une erreur d'affichage, définissez l'adresse:
export DISPLAY = adresse IPde la machine: 0.0

Wrappers TCP

Si vous souhaitez autoriser les hôtes sélectionnés et en refuser certains, ce sont les fichiers que vous devez modifier

1. /etc/hosts.allow
2. /etc/hosts.deny

Pour autoriser quelques hôtes

sshd: 10.10.10.111

Pour empêcher tout le monde de se connecter à votre serveur, ajoutez la ligne suivante dans /etc/hosts.deny
sshd: TOUT

SCP - Copie sécurisée

SCP - copie sécurisée est un utilitaire de transfert de fichiers. Vous devrez utiliser la commande suivante pour copier / transférer des fichiers via ssh.

La commande ci-dessous copiera mon fichier dans / home / user2 le 10.10.10.111
scp / home / user / myfile root@10.10.10.111: / home / user2
Syntaxe de la destination source scp

Pour copier un dossier
scp –r / home / user / myfolder roor@10.10.10.111: / home / user2

Recherche de fichiers sur une machine distante

Il est très facile de rechercher des fichiers sur une machine distante et d'afficher la sortie sur votre système. Pour rechercher des fichiers sur une machine distante

ssh root@10.10.10.111 'find / home / user –name‘ * .jpg ’»

La commande recherchera dans le répertoire / home / user tous les fichiers * .jpg, vous pouvez jouer avec. find / -name recherchera tout le répertoire / root.

Sécurité supplémentaire SSH

iptables vous permet de définir des limites basées sur le temps. Les commandes ci-dessous bloqueront l'utilisateur pendant 120 secondes s'il ne parvient pas à s'authentifier. Vous pouvez utiliser le paramètre / seconde / heure / minute ou / jour dans la commande pour spécifier la période.

Limites basées sur le temps
iptables -A INPUT -p tcp -m état –syn –state NEW –dport 22 -m limit –limit 120 / seconde –limit-burst 1 -j ACCEPTER

iptables -A INPUT -p tcp -m état –syn –state NEW –dport 5000 -j DROP

5000 est le port, changez-le selon vos paramètres .

Autoriser l'authentification à partir d'une adresse IP spécifique
iptables -A INPUT -p tcp -m state -state NEW -source 10.10.10.111 -dport 22 -j ACCEPT

Autres commandes utiles

Joindre un écran via SSH
écran ssh -t root@10.10.10.111 –r
Vérification de la vitesse de transfert SSH
oui | pv | ssh $root@10.10.10.111 'cat> / dev / null'

Mots clés ssh Tunnel SSH 4 minutes de lecture