首页 微博热点正文

运用双因子验证,你不能只是运用 SSH 密钥衔接到服务器,你还需要供给手机上的验证器应用程序随机生成的数字。

-- Curt Warfield

每天好像都有一个安全漏洞的新闻报道,说咱们的数据会因而而存在危险。虽然 SSH 是一种长途衔接体系的安全办法,但你依然余姚气候,在 Fedora 上为 SSH 设置双因子验证,洗牙能够使它更安全。本文将向你展现怎么做到这一点。

此刻 双因子验证(two-factor auth余姚气候,在 Fedora 上为 SSH 设置双因子验证,洗牙entication)(2FA)就有用武之地了。即便你禁用暗码并只答应运用公钥和私钥进行 SSH 衔接,但假如未经授权的用户偷盗了你的密钥,他依然能够借此拜访体系。

运用双因子验证,你不能只是运用 SSH 密钥衔接到服务器,你还需要供给手机上的验证器应用程序随机生成的数字。

本文展现的办法是 根据时刻的一次性暗码(李家宝Time-based One-time Password)(TOTP)算法。 Google Authenticator 用作服务器应用程序。默许情况下,Google Authenticator 在 Fedora 中是可用的。

至于手机,你能够运用与 TOTP 兼容的任何能够双路验证的应用程序。Andorid 或 iOS 有许多能够与李教授抗寒蚊子被判刑 TOTP 和 Google AuthentiUncelcator 合作运用性的的免费应用程序。本余姚气候,在 Fedora 上为 SSH 设置双因子验证,洗牙文与 Fre比机机eOTP 为例。

装置并设置 Google Authenticator

首要,在你的服务器上装置 Google Authenticator。

$ sudo dnf install -y google-authenticator

运转应用程序:

$ google-authenticator

该应用程序供给了一系列问题爷爷撸余姚气候,在 Fedora 上为 SSH 设置双因子验证,洗牙。下面的片段展现了怎么进行合理的安全设置:

Do you want authentication tokens to be time-based (y/n) y

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

这个应用程序为你供给一个密钥、验证码和康复码。把它们放在安全的当地。假如你丢掉了手机,康复码是拜访服务器的仅有办法。

设置手机验证

在你的手机上装置验证器应用程序(F王坪吧re践组词eOTP)。假如余姚气候,在 Fedora 上为 SSH 设置双因子验证,洗牙你有一台安卓手机,那么你能够在 Google Play 中找到它,也能够在苹果 iPhone 的 iTunes 商铺中找到它。

Google Authenticator 会在屏幕上显现一个二维码。翻开手机上的 FreeOTP 应用程序,挑选增加新账户,在应用程序顶部挑选二维码形状东西,然后扫描二维码即可。设置完结后,在每次官能奇谭长途衔接服务器时,你有必要供给验证器应用程序生成的随机数。

完结装备

应用程序会向你问询更多的问题。下面示例展现了怎么设置合理的安全装备。

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 not吕芷萱ice or even prevent man-in-the-middle attacks (y/n) y

By default, tokens are good for 30 seconds. In order to compensate for possible time-skew between the 配人client and the server, we allow an extra token befor口je and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of +-1min (window size of 3) to about +-4min (window size of 17 acceptable tokens).

Do you want to do so? (y/n) n

If the computer that you are lo印度女儿gging into isn't hardened against brute-force login attempts, you can enable rate-lim郭鹤鸣现状iting 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

现在,你有必要设置 SSH 来运用新的双路验证。

装备 SSH

在完结此过程之前,保证你已运用公钥树立了一个可用的 SSH 衔接苞,因为咱们将禁用暗码衔接。假如出现问题或过错,一个现已树立的衔接将答应你修正问余姚气候,在 Fedora 上为 SSH 设置双因子验证,洗牙题。

在你的服务器上,运用 sudo 修改 /etc/pam.d/sshd 文件。

$ sudo vi /etc/pam.d/ssh

注释掉 auth substack password-auth 这一行:

#auth substack password-auth

将以下行增加到文件底部:

auth sufficient pam_google_authenticator.so

保存并封闭文件。然后修改 /etc/ssh/sshd_config 文件:

$ sudo vi /etc/ssh/sshd_config

找到 ChallengeResponseAuthentication 这一行并将其更改为 yes:

ChallengeResponseAuthentication yes

找到 PasswordAuthentication 这一行并将其更改为 no:

Pas余姚气候,在 Fedora 上为 SSH 设置双因子验证,洗牙swordAuthentication no

将以下行增加到文件底部:

AuthenticationMethods publickey,password publickey,keyboard-interactive

保存并封闭文件,然后重新启动 SSH:

$ sudo systemctl restart sshd

测验双因子验证

当你测验衔接到服务器时,体系会提黄睿铭示你输入验证码:

[user@client ~]$ ssh user@example.com

Verification code:

验证码由你手机上的验证器应用程序随机生成。因为这个数字每隔几秒就会发生改变,因而你需要在它改变之前输入它。



假如你不输入验证码,你将无法拜访体系,你会收到一个权限被回绝的过错:

[user@client ~]$ ssh user@example.com

Verification code:

Verification code:

Verificati赵咏瑶on code:

Permission denied (keyboard-interactive暗夜帝王的娃娃妻).

[user@client ~]$

定论

经过增加这种简略的双路验证,现在未经授权的用户拜访你的服务器将变得愈加困难。


via: https://fedoramagazine.org/two-factor-authentication-ssh-fedora/

作者: Curt Warfield 选题: lujun9972 译者: MjSeven 校正: wxy

本文由 LCTT 原创编译, Linux我国 荣誉推出

点击“了解更多”可拜访文内链接

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。