首页 > 系统教程 > LINUX > 正文

LINUX如何设置SSH免密登录_LINUX SSH免密码登录配置步骤

冰火之心
发布: 2025-11-06 16:36:02
原创
834人浏览过
答案:通过SSH公钥认证实现Linux间免密登录。1. 客户端用ssh-keygen生成密钥对;2. 用ssh-copy-id将公钥传至目标服务器authorized_keys文件;3. 正确设置~/.ssh目录权限为700,authorized_keys文件权限为600;4. 测试ssh登录并排查配置问题。

linux如何设置ssh免密登录_linux ssh免密码登录配置步骤

实现Linux系统之间的SSH免密登录,能极大提升运维效率,避免重复输入密码。核心原理是通过SSH公钥认证机制,将客户端的公钥存放到服务端的授权文件中。以下是具体配置步骤。

1. 生成SSH密钥对

在需要登录的客户端机器上执行以下命令,生成公钥和私钥:

ssh-keygen -t rsa -b 2048

按提示操作:

  • 可直接回车使用默认路径(如/home/用户名/.ssh/id_rsa
  • 设置私钥密码(可选,若想完全免密则留空)

完成后会在.ssh目录下生成两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。

2. 将公钥复制到目标服务器

把本地生成的公钥内容上传到远程服务器的~/.ssh/authorized_keys文件中。推荐使用以下命令自动完成:

ssh-copy-id username@server_ip

例如:

ssh-copy-id user@192.168.1.100

首次运行会提示输入用户密码,传输成功后公钥即被添加。

如果没有ssh-copy-id命令,可手动复制:

Dora
Dora

创建令人惊叹的3D动画网站,无需编写一行代码。

Dora 547
查看详情 Dora
cat ~/.ssh/id_rsa.pub | ssh user@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

3. 设置正确的文件权限

SSH对文件权限要求严格,错误的权限会导致认证失败。在目标服务器上执行:

chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys

同时确保用户家目录没有过宽的写权限,一般/home/用户名应为755

4. 测试免密登录

从客户端尝试连接服务器:

ssh username@server_ip

如果配置正确,将直接登录,不再提示输入密码。

若仍需密码,可通过以下方式排查:

  • 检查远程~/.ssh/authorized_keys是否包含客户端公钥内容
  • 查看远程/etc/ssh/sshd_config中是否启用公钥认证:
  • PubkeyAuthentication yes
  • 确认SSH服务已重启:systemctl restart sshd
  • 使用ssh -v user@ip查看详细连接过程,定位问题

基本上就这些。只要密钥正确部署、权限设置得当,SSH免密登录就能稳定工作。适合用于脚本自动化、集群管理等场景,方便又安全。

以上就是LINUX如何设置SSH免密登录_LINUX SSH免密码登录配置步骤的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号