CentOS 7 SSH密钥登录与密码密钥双重身份验证指南
一、准备工作:以root用户为例,登录CentOS系统,并切换到目标用户主目录。命令:
su root cd ~
二、生成密钥对:执行以下命令生成RSA密钥对,一路回车即可。
ssh-keygen -t rsa
三、密钥位置:密钥对文件 (id_rsa, id_rsa.pub) 将生成在用户主目录下的.ssh目录中。id_rsa为私钥,id_rsa.pub为公钥。
四、修改SSH配置文件:使用vim编辑器修改SSH配置文件。命令:
vim /etc/ssh/sshd_config
修改以下配置项:
# 允许root用户登录 (如果需要) PermitRootLogin yes # 放宽对用户主目录权限的检查 StrictModes no # 启用RSA密钥认证 RSAAuthentication yes # 启用公钥认证 PubkeyAuthentication yes # 指定授权密钥文件位置 AuthorizedKeysFile .ssh/authorized_keys # 禁用密码登录 (初始配置) PasswordAuthentication no
五、配置授权密钥:将公钥(id_rsa.pub)内容添加到authorized_keys文件中。命令:
cd ~/.ssh cat id_rsa.pub >> authorized_keys
重启SSH服务:
systemctl restart sshd.service
六、下载私钥并配置SecureCRT:使用rz/sz工具(或其他方法)下载私钥。安装rz/sz命令:yum -y install lrzsz
下载私钥:
cd ~/.ssh sz id_rsa
在SecureCRT中配置:
- 选择“选项” -> “会话选项” -> “SSH2” -> “鉴权”。
- 选择“公钥”,点击“属性”。
- 选择“使用会话公钥设置”,并选择下载的私钥文件。
- (初始配置:取消密码认证的勾选)
七、权限设置 (如有需要): 如果遇到权限错误,请设置以下权限:
chmod 700 ~/.ssh chmod 644 ~/.ssh/authorized_keys chmod 600 ~/.ssh/id_rsa
八、启用密码和密钥双重验证: 修改SSH配置文件,启用密码认证,并指定认证方法。
vim /etc/ssh/sshd_config
修改或添加以下配置:
PasswordAuthentication yes AuthenticationMethods publickey,password
重启SSH服务:
systemctl restart sshd.service
在SecureCRT中,重新勾选密码认证选项。
提示: 配置完成后,建议不要关闭当前SecureCRT连接,尝试使用新的连接进行测试,以避免配置错误导致无法登录。