2021-03-25 21:25:51
配置Linux用户的SSH密钥登录并通过authorized_keys实现免密登录,需按以下步骤操作:
1. 生成SSH密钥对(本地操作)在本地终端(Mac/Linux)执行命令生成密钥:
ssh-keygen -t rsa -b 4096id_rsa:私钥文件,必须严格保密。
id_rsa.pub:公钥文件,需上传至服务器。

user:服务器用户名。
server_ip:服务器IP地址。
若ssh-copy-id不可用,执行以下命令:
cat ~/.ssh/id_rsa.pub | ssh user@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"通过管道将本地公钥内容传输至服务器。
在服务器上创建~/.ssh目录(若不存在)。
将公钥追加到authorized_keys文件中。

SSH对权限要求严格,需确保以下设置:
.ssh目录权限:
chmod 700 ~/.sshauthorized_keys文件权限:
chmod 600 ~/.ssh/authorized_keys用户主目录权限:
chmod go-w ~说明:主目录不能对其他用户开放写权限,否则密钥可能失效。
验证权限问题:若登录失败,使用-v参数调试:
ssh -v user@server_ip
确认密钥登录正常后,关闭密码验证以提升安全性:
⚠️ 警告:操作前需确保至少有一个密钥登录方式可用,否则可能被锁在服务器外。
通过以上步骤,可实现安全、高效的SSH密钥登录,替代传统密码验证,显著提升服务器安全性。