Réglage approprié .Autorisations SSH / Config

Réglage approprié .Autorisations SSH / Config
Le protocole SSH est un protocole sécurisé qui est généralement utilisé pour se connecter à des périphériques distants tels que les serveurs et les appareils réseau, y compris les routeurs et les commutateurs. Il fonctionne dans une configuration client-serveur et, par défaut, écoute le port 22 (bien que cela puisse être modifié en cas de besoin). SSH utilise différentes techniques de chiffrement et de hachage pour garantir que la communication entre le client et l'hôte distant est cryptée et à l'abri de l'écoute.

Les fichiers SSH sont stockés dans le .ssh dossier. Ceci est un dossier caché qui réside dans le répertoire domestique. Le .ssh Le répertoire n'est pas créé par défaut; il est créé lorsque vous lancez une connexion avec un hôte distant ou utilisez le ssh-keygen commande de générer les clés d'authentification privées et publiques comme lorsque vous souhaitez configurer l'authentification SSH sans mot de passe.

Le .ssh dossier. Contient des fichiers SSH essentiels tels que:

  1. Clés publiques et privées ( id_rsa et id_rsa.pub ).
  2. Le connu_hosts Fichier - contient des clés publiques de tous les systèmes distants auxquels vous avez connecté.
  3. Le configurer Fichier de configuration du client

Si la configurer Le fichier n'existe pas, vous pouvez facilement en créer un comme indiqué.

$ touch ~ /.ssh / config

Le .Fichier de configuration du client SSH / Config

Chaque fois que vous initiez une connexion SSH, vous devez spécifier des détails tels que l'adresse IP ou le nom de domaine et le port SSH écoute. Par exemple,

$ ssh James @ 192.168.2.103 -p 22

Il peut être mouvementé de devoir toujours se souvenir de ces détails. Et c'est là que le ~ /.ssh / config Le fichier entre en jeu. Le ~ /.ssh / config Le fichier est un fichier de configuration qui vous permet de configurer les détails de configuration par utilisateur de l'hôte distant. Cela vous évite l'agonie d'avoir toujours à rappeler les détails par hôte requis pour la connexion.

Un exemple de fichier de configuration apparaît comme indiqué.

Hôte-serveur de staging
Nom d'hôte 192.168.2.103
Utilisateur James
Port 22

Une commande SSH simple dans l'hôte distant aurait l'air comme suit:

$ SSH Staging-Server

Le .Autorisations de fichiers SSH / Config

Par défaut, le ~ /.ssh / config Le fichier de configuration client possède le 644 permis de fichier. Vous pouvez vérifier que l'utilisation du LS -LA Commande comme suit.

$ ls -la ~ /.ssh / config

Cela implique que le propriétaire et le groupe du fichier ont à la fois des autorisations de lecture et d'écriture (RW) tandis que d'autres utilisateurs ont des autorisations de lecture uniquement (R).

-rw-rw-r--

NOTE:

En règle générale, n'attribuez jamais d'autorisations d'écriture à d'autres utilisateurs. Cela présente un risque de sécurité pour votre fichier, et d'autres utilisateurs qui ne sont pas vous-même ou dans votre groupe peuvent modifier le contenu du fichier. L'attribution des autorisations d'écriture entraînera le 'Mauvais propriétaire ou autorisation'Erreur comme indiqué ci-dessous.

Ici, le fichier de configuration a été attribué les autorisations 666. Cela implique que tout le monde peut à la fois lire et écrire le fichier.

De même, le même cas s'applique ici où le fichier a été attribué 777 autorisation. Cela implique que tout le monde peut lire, écrire et exécuter le fichier. Autrement dit, n'importe qui a tous les droits sur le fichier potentiellement dangereux.

La meilleure pratique vous recommande de laisser les autorisations par défaut 664 ou 600, où seul le propriétaire a lu et écrit des autorisations (RW). De cette façon, le fichier reste à l'abri d'être modifié par les utilisateurs non autorisés.

De plus, assurez-vous que vous possédez le fichier. Si le fichier est modifié en un autre utilisateur, SSH ne pourra pas résoudre le nom d'hôte fourni dans le fichier de configuration.

Dans l'exemple ci-dessous, le ~ /.ssh / config La propriété a été mise à propos de Bob: Bob.

Pour résoudre ce problème, je suis revenu à la propriété d'origine en utilisant le chown commande.

$ sudo chown James: James ~ /.ssh / config

Avec les autorisations de fichier retournées, maintenant je peux avoir accès en invoquant la commande ssh suivie du nom d'hôte spécifié dans le fichier de configuration.

$ SSH Staging-Server

Et c'est tout ce que vous devez savoir sur la définition des autorisations sur le ~ /.ssh / config déposer. Assurez-vous de ne pas définir les autorisations de lecture sur le reste des utilisateurs et de vous assurer de posséder le fichier.