Aller au contenu

Double Authentification Ssh Avec Authy


Buffer_Error

Messages recommandés

Bonjour a tous !

Ci-dessous un petit tuto pour pouvoir securiser sa connexion ssh sur un NAS synology avec authy

Afin de pouvoir faire fonctionner votre authentification double facteur sur il vous faudra avoir

  • installé bootstrap (IPKG)
  • créé un compte authy
  • créé une application authy-ssh : 9c6772a078870c470de0a32a1865743c dans cette exemple
Installation des paquets IPKG nécessaire

Commencez par vous loger en root (root et pas admin) sur votre NAS via votre client ssh préféré, puis installer le paquet ipkg bash

ipkg install bash
Téléchargement et configuration d’authy-ssh

Une fois que vous avez installe bash, téléchargez authy-ssh

cd /tmp
curl -O 'https://raw.githubusercontent.com/authy/authy-ssh/master/authy-ssh'

Si curl vous retourne une erreur “curl: (1) Protocol ‘https not supported or disabled in libcurl” utilisez la commande suivante

curl -O 'https://raw.githubusercontent.com/authy/authy-ssh/master/authy-ssh' --insecure

Maintenant éditez la configuration du script

nano authy-ssh

Remplacez #!/usr/bin/env bash (1ere ligne) par

#!/opt/bin/bash

et ajoutez avant export TERM=”xterm-256color”

export PATH=$PATH:/opt/bin

Voici a quoi devrait ressembler les 13 premières lignes du script authy-ssh une fois ces deux modifications terminées

#!/opt/bin/bash
VERSION="1.4"
AUTHY_URL="https://api.authy.com"
APP_ROOT=`dirname $0`
CONFIG_FILE="$APP_ROOT/authy-ssh.conf"
UPSTREAM_URL="https://raw.github.com/authy/authy-ssh/master/authy-ssh"
READ_TIMEOUT=60
 
OK=0
FAIL=1
 
export PATH=$PATH:/opt/bin
export TERM="xterm-256color"

Rendez le script exécutable et lancez l’installation

chmod +x authy-ssh
./authy-ssh install /usr/local/bin/

L’installation devrait se passer correctement

DS_Test> ./authy-ssh install /usr/local/bin
Copying ./authy-ssh to /usr/local/bin/authy-ssh...
Setting up permissions...
Enter the Authy API key: 9c6772a078870c470de0a32a1865743c
Default action when api.authy.com cannot be contacted:
 
  1. Disable two factor authentication until api.authy.com is back
  2. Don't allow logins until api.authy.com is back
 
type 1 or 2 to select the option: 2
Generating initial config on /usr/local/bin/authy-ssh.conf...
Adding 'ForceCommand /usr/local/bin/authy-ssh login' to /etc/ssh/sshd_config
 
    MAKE SURE YOU DO NOT MOVE/REMOVE /usr/local/bin/authy-ssh BEFORE UNINSTALLING AUTHY SSH
 
To enable two-factor authentication on your account type the following command:
 
   sudo /usr/local/bin/authy-ssh enable root <your-email> <your-numeric-country-code> <your-cellphone>
   Example: sudo ./authy-ssh enable root myuser@example.com 1 401-390-9987
 
To enable two-factor authentication on user account type:
 
   sudo /usr/local/bin/authy-ssh enable <local-username> <user-email> <user-cellphone-country-code> <user-cellphone>
 
To uninstall Authy SSH type:
 
   sudo /usr/local/bin/authy-ssh uninstall
 
      Restart the SSH server to apply changes
Configuration d’authy-ssh pour les utilisateurs admin et root

L’installation d’une authentification double facteur pour un utilisateur se fait sur le modèle suivant

/usr/local/bin/authy-ssh enable <utilisateur> <email> <code pays> <numero-de-telephone>

Dans notre cas pour admin (commencez par l’utilisateur admin, si tout fonctionne correctement vous pourrez implémenter cette solution pour root)

/usr/local/bin/authy-ssh enable admin chuck@norris.com 33 666666666

Authy-ssh se configure alors

DS_Test> /usr/local/bin/authy-ssh enable admin chuck@norris.com 33 666666666
 
 
    Username:   admin
    Cellphone:  (+33) 666666666
    Email:      chuck@norris.com
 
 
Do you want to enable this user? (y/n) y
User was registered
DS_Test>

authy-ssh lors de la configuration ne modifie le fichier de configuration ssh que pour l’utilisateur root, puisque nous nous occupons d’admin il faudra que vous le fassiez vous même

nano /etc/ssh/sshd_config

Une fois le fichier de configuration de ssh ouvert rendez vous a la fin du fichier et vous verrez qu’authy a ajoute la ligne ForceCommand /usr/local/bin/authy-ssh login au block Match User root

# Example of overriding settings on a per-user basis
Match User root
#       X11Forwarding no
        AllowTcpForwarding yes
#       ForceCommand cvs server
ForceCommand /usr/local/bin/authy-ssh login

Créez le meme block pour l’utilisateur admin, de sorte que vous ayez

# Example of overriding settings on a per-user basis
Match User root
#       X11Forwarding no
        AllowTcpForwarding yes
#       ForceCommand cvs server
ForceCommand /usr/local/bin/authy-ssh login
 
Match User admin
ForceCommand /usr/local/bin/authy-ssh login

Redémarrez le service ssh

killall sshd

Reconnectez vous en ssh cette fois en avec l’user admin, voici ce que vous devriez voir

login as : admin
admin@192.168.1.190's password:
Authy Token (type 'sms' to request a SMS token):

Si et seulement si tout fonctionne lors de la connection ssh admin vous pouvez configurer authy sur root, reconnectez vous en root et lancez le script de configuration

/usr/local/bin/authy-ssh enable root chuck@norris.com 33 666666666

Source

Lien vers le commentaire
Partager sur d’autres sites

  • 6 ans après...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.