如何在Linux系统中设置SSH密钥身份验证(6)
如何在Linux系统中设置SSH密钥身份验证
多因素身份验证(MFA)
介绍多因素身份验证的重要性
多因素身份验证(MFA)是一种安全措施,要求用户在登录时提供两个或多个独立的身份验证因素,以验证其身份。
通常,这包括“知道的事项”(如密码)和“拥有的物件”(如手机或硬件令牌)。
配置和使用基于密钥的MFA
1、安装并配置 MFA 工具(如 Google Authenticator):
sudo apt-get install libpam-google-authenticator
2、修改 PAM 配置文件:
sudo nano /etc/pam.d/sshd
在文件末尾添加以下行:
auth required pam_google_authenticator.so
3、修改SSH配置文件,启用 ChallengeResponseAuthentication:
sudo nano /etc/ssh/sshd_config
确保以下行的值为 yes:
ChallengeResponseAuthentication yes
4、重启SSH服务:
sudo service ssh restart
结合硬件密钥和手机应用的MFA
除了基于软件的 MFA(如手机应用生成的验证码),你还可以考虑结合硬件密钥,如 YubiKey 或其他支持 U2F 标准的硬件令牌。
1、在本地机器上配置硬件密钥:
ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk
2、将生成的公钥添加到 SSH 服务器上的 ~/.ssh/authorized_keys。
3、修改SSH配置文件,启用硬件密钥认证:
sudo nano /etc/ssh/sshd_config
确保以下行的值为 yes:
PubkeyAuthentication yes
AuthenticationMethods publickey,password publickey,publickey
4、重启SSH服务:
sudo service ssh restart
通过结合不同因素的身份验证,你大大提高了服务器的安全性。
定期更新密钥对
为了增加安全性,定期更新 SSH 密钥对是一个好的实践。
可以使用以下步骤生成新的密钥对并替换旧的密钥:
# 生成新的密钥对
ssh-keygen -t rsa -b 4096 -f ~/.ssh/new_key -C "your_email@example.com"
# 复制新的公钥到目标服务器
ssh-copy-id username@your_server_ip -i ~/.ssh/new_key.pub
# 测试新密钥是否可以成功登录
ssh -i ~/.ssh/new_key username@your_server_ip
# 如果一切正常,可以删除旧密钥
rm ~/.ssh/id_rsa*
监控和审计SSH访问
启用 SSH 访问的监控和审计功能可以及时发现潜在的安全问题。
可以使用工具如 fail2ban 来监控日志文件,自动封禁恶意的 SSH 连接尝试。
# 安装 fail2ban
sudo apt install fail2ban # 对于 Debian/Ubuntu
sudo yum install fail2ban # 对于 Red Hat/CentOS
# 启用 SSH 防护
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
相关阅读
-
电脑自动休眠取消教程 电脑取消自动休眠状态
今日重点为您介绍电脑自动休眠取消教程的话题,关于电脑自动休眠取消教程 电脑取消自动休眠状态,如有不对的地方欢迎指正! 不少的电脑用户都会设置自动休眠功能但是想要取消的时候就
-
电脑虚拟机安装教程 在电脑上开一个虚拟机详细步骤
对于许多网友来说电脑虚拟机安装教程和在电脑上开一个虚拟机详细步骤的IT知识,接下来分享详细内容。 VMware Workstation是一款虚拟机软件,允许用户将Linux、Windows等多个操作系统作为虚拟机
-
笔记本恢复出厂设置方法 笔记本电脑恢复出厂设置方法
全面为您解析笔记本恢复出厂设置方法方面的知识,关于笔记本恢复出厂设置方法 或者 笔记本电脑恢复出厂设置方法,接下来一起来看看吧。 在电脑出现问题的时候基本上大家都会去选择恢
-
win10缺失dll文件一键修复 免费的dll修复工具推荐
今天小编介绍win10缺失dll文件一键修复和免费的dll修复工具推荐的相关话题,接下来分享详细内容。 本期Eleght科技给大家分享一下有关DLL方面的知识,不仅仅只是来分享工具的,以用来解决很


