
实现SSH免密登录需将客户端公钥添加至服务器authorized_keys文件。1. 本地运行ssh-keygen生成rsa密钥对;2. 用ssh-copy-id或手动方式将id_rsa.pub追加到目标服务器~/.ssh/authorized_keys;3. 正确设置权限:服务器~/.ssh为700。authorized_keys为600。本地私钥600;4. 执行ssh登录测试。无密码即成功。否则查日志排错。
要实现Linux系统之间的SSH免密登录。核心是将客户端的公钥添加到目标服务器的授权密钥文件中。整个过程不依赖密码验证。提升自动化和安全性。以下是具体操作步骤。
1. 生成SSH密钥对
在本地客户端机器上生成公钥和私钥文件。默认存储在用户家目录下的~/.ssh/目录中。
执行以下命令:
ssh-keygen -t rsa -b 2048
按提示操作。可直接回车使用默认设置。完成后会生成两个文件:
- id_rsa:私钥(保存在本地。不能泄露)
- id_rsa.pub:公钥(需要上传到服务器)
2. 将公钥复制到目标服务器
把本地生成的公钥内容写入服务器的~/.ssh/authorized_keys文件中。最简单的方法是使用ssh-copy-id命令:
ssh-copy-id username@server_ip
例如:
ssh-copy-id user@192.168.1.100
输入一次密码后。公钥即被自动追加到服务器的授权列表中。
若系统未安装ssh-copy-id。可手动复制:
这是一个提供免费语音克隆服务的平台。用户只需上传或录制一段 5 秒以上的清晰语音样本。平台即可生成与用户声音高度一致的 AI 语音克隆。
cat ~/.ssh/id_rsa.pub | ssh username@server_ip “mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys”
3. 设置正确权限
SSH对文件权限要求严格。错误的权限会导致免密登录失败。
确保服务器上的相关目录和文件权限如下:
- 用户家目录:chmod 755 ~
- .ssh目录:chmod 700 ~/.ssh
- authorized_keys文件:chmod 600 ~/.ssh/authorized_keys
私钥文件在本地也应设为仅用户可读:chmod 600 ~/.ssh/id_rsa
4. 测试免密登录
完成配置后。尝试通过SSH连接服务器:
ssh username@server_ip
如果无需输入密码即可登录。说明配置成功。
若仍需密码。可检查服务器端/var/log/auth.log或使用ssh -v username@server_ip查看详细日志。排查问题。
基本上就这些。只要密钥放置正确、权限设置合规。SSH免密登录就能稳定运行。适合用于脚本自动化、集群管理等场景。
以上就是Linux如何设置SSH免密登录_Linux配置SSH免密登录的步骤的详细内容。
0 条评论