ssh 设置密码和google authenticator双重认证,特定组只需要密码验证。
时间: 2024-09-20 19:17:05 浏览: 82
SSH (Secure Shell) 提供了一种安全的方式来远程登录到服务器。通常,SSH 默认使用私钥进行身份验证,但也可以设置密码。如果你想启用Google Authenticator作为双因素认证,可以采取以下步骤:
1. **安装Google Authenticator**:首先在本地设备上安装Google Authenticator应用,如适用于Android或iOS的应用程序。
2. **生成SSH密钥对**:确保已经设置了SSH密码,然后通过SSH客户端生成一个新的公钥和私钥对,例如在Linux终端里运行 `ssh-keygen -t rsa`。
3. **配置Google Authenticator**:将SSH公钥添加到Google Authenticator,这通常是通过提供一个特殊的URL完成,这个URL会自动填充到应用内让你扫描或手动输入。
4. **修改SSH配置**:编辑SSH服务的配置文件(如Linux的 `/etc/ssh/sshd_config`),找到 `ChallengeResponseAuthentication` 和 `PubkeyAuthentication` 配置行,确保它们都开启并且 `PasswordAuthentication` 只允许密码验证。添加类似这样的配置:
```
ChallengeResponseAuthentication yes
PubkeyAuthentication no
PasswordAuthentication yes
```
5. **重启SSH服务**:保存更改并重启SSH服务,让新的配置生效。
6. **组权限**:对于特定用户组,你可能需要单独管理他们的认证方式。你可以创建一个用户组,并在该组下只分配密码验证权限,而不强制使用Google Authenticator。
7. **限制访问**:最后,通过`AllowUsers`或`DenyUsers`指令限制哪些用户可以使用上述配置,比如仅对指定组的成员开放。
阅读全文