Two factor (2FA) authentication on SSH Using Google Authenticator

Εγκαθιστούμε το google authenticator

sudo apt install libpam-google-authenticator

Κάνω login με το χρήστη που θα χρειαστεί να ενεργοποιήσω 2FA και τρέχω


Εδώ θα μου βγάλει το παρακάτω

Do you want authentication tokens to be time-based (y/n) y
Warning: pasting the following URL into your browser exposes the OTP secret to Google:<>

Do you want me to update your “/home/user/.google_authenticator” file (y/n) y

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) y

If the computer that you are logging into isn’t hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

Αποθηκεύουμε όλες τις πληροφορίες και κάνουμε και ένα screenshot το barcode.

Ανοίγουμε την εφαρμογή Google Authenticator στο Android κινητό μας και scanαρουμε το barcode.

Επίσης ρυθμίζω να παίρνω backup και το φάκελο ~/.google_authenticator


Ανοίγω με ένα editor το αρχείο /etc/pam.d/sshd

sudo nano /etc/pam.d/sshd

και προσθέτω στο τέλος του αρχείου την γραμμή

auth required

σε παλιότερες εκδόσεις θα χρειαζόταν το nullok στο τέλος στην περίπτωση που θα θέλαμε το PAM να είναι προαιρετικό και να μπορούσαμε να κάνουμε login και με τα SSH Key

auth required nullok

Τώρα στο αρχείο /etc/ssh/sshd_config θα αλλάξουμε σε  yes ChallengeResponseAuthentication  για να ενεργοποιήσουμε την χρήση του αρχείου pam στο Authenticator

sudo nano /etc/ssh/sshd_config


# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication yes

Επανεκκινώ τον SSH Server

sudo service sshd restart




Στείλε μου μήνυμα



Log in with your credentials

Forgot your details?