GNU/Linux >> Tutoriels Linux >  >> Linux

ajouter un mot de passe à .ssh/config

Solution 1 :

Non, il n'existe aucune méthode pour spécifier ou fournir sur la ligne de commande le mot de passe de manière non interactive pour l'authentification ssh à l'aide d'un mécanisme intégré openssh. Du moins pas un que je sache. Vous pouvez coder en dur votre mot de passe dans le script expect, mais ce n'est pas non plus une bonne solution.

Vous voudriez certainement utiliser des paires de clés pour une authentification sans mot de passe, comme l'a déclaré Michael, à la fin, la clé privée est à peu près un gros mot de passe dans le fichier.

Solution 2 :

Pour éviter la chaîne de commentaires :oui, ce n'est pas sûr (même sans doute pas sûr). Je vous recommande fortement de ne le faire que dans une situation de laboratoire sur un réseau isolé ou une situation similaire qui n'implique pas de serveurs de production ou potentiellement de serveur de production sans réinitialisation/format complet.

Je voulais configurer cela car je ne pense pas que mon commutateur 2950 prenne en charge les clés privées/publiques et j'espère à un moment donné acquérir cette connaissance, mais je n'en suis pas encore là.

En utilisant un alias et sshpass, cela peut être accompli.

  1. Installer sshpass
  2. Modifiez votre .ssh/config fichier pour inclure le nom d'utilisateur tel qu'indiqué dans la question
  3. Ajoutez un alias à votre terminal (j'ai utilisé .bashrc et je déconseille les paramètres gloabl)
  4. Utiliser un alias pour se connecter à la cible

Mon exemple d'alias est :

alias ssc='sshpass -pcisco ssh'

Où "cisco" est le mot de passe. Notez qu'il n'y a pas d'espace entre le -p et le mot de passe.

L'utilisation est (en référence à la question) :

ssc server1

Remarque :Cela répond à la question dans le titre uniquement pour ceux qui utilisent des moteurs de recherche. Si vous utilisez des serveurs comme l'exemple de la question, des paires de clés privées/publiques et non cette réponse doivent être utilisées

Solution 3 :

Oui, comme mentionné ci-dessus, il n'y a aucun moyen d'enregistrer simplement le mot de passe. Je recommanderais d'utiliser la clé ssh pour l'autorisation.

d'abord, générez votre clé :

ssh-keygen

Copiez ensuite la clé sur vos serveurs/bureaux :

ssh-copy-id -i .ssh/id_rsa.pub [email protected]:

C'est tout. Le mot de passe ne vous sera plus jamais demandé.

Je recommande également de supprimer l'autorisation par mot de passe en général, mais c'est à vous de décider.

Solution 4 :

Il n'y a aucun moyen de faire cela avec ssh, c'est aussi peu sûr que possible.

Comme Danila l'a mentionné, vous pouvez utiliser des scripts attendus, mais cela ne me dérangerait pas.

Je me demande ce que vous essayez de réaliser? Vous souhaitez passer d'un serveur à un autre ? Dans ce cas, vous souhaitez configurer et utiliser ssh-agent sur votre poste de travail et activer le transfert d'agent sur les hôtes cibles ; de cette façon, l'échange d'informations d'identification sera acheminé vers votre agent local sans avoir à copier votre clé privée.

Solution 5 :

J'utilise ce script de ~/.local/bin répertoire

#!/usr/bin/bash

ORIG_SSH=/usr/bin/ssh
HOST=$1

SSHPASS=$(grep -Pzo "Host $HOST"'\s*\n((?!Host).*\n)*#PS\s(\N+)\n' ~/.ssh/config|tail -n 2|head -n 1 | sed 's/#PS //')
if [ -n $SSHPASS ]; then
    export SSHPASS
    sshpass -e $ORIG_SSH [email protected]
else
    $ORIG_SSH [email protected]
fi

Ce qui me permet de spécifier la phrase secrète sous la forme #PS <password> en .ssh/config fichier.

Mais, comme tout le monde le dit, il vaut mieux utiliser ssh-keys avec ssh-agent quand c'est possible


Linux
  1. Automatisation du mot de passe SSH sous Linux avec sshpass

  2. Comment saisir un mot de passe pour plusieurs fenêtres ?

  3. Comment désactiver la connexion SSH avec un mot de passe

  4. SSH - Comment inclure la commande -t dans le fichier ~/.ssh/config

  5. SSH ne demande pas de mot de passe, donne l'autorisation refusée immédiatement

Test de mot de passe SSH avec Hydra sur Kali Linux

Comment désactiver l'authentification par mot de passe SSH sur Linux VPS

Utilisation du fichier de configuration SSH

Comment transmettre un mot de passe à la commande SSH sous Linux

Exécution de deux serveurs SSH

Transférer SSH via un tunnel SSH