登录
首页 >  文章 >  linux

LinuxSSH免密登录设置教程

时间:2025-10-18 18:27:30 379浏览 收藏

想要提升Linux运维效率,告别重复输入密码的烦恼?本文详细介绍了**Linux SSH免密登录设置方法**,通过SSH公钥认证机制,实现客户端到服务器的无密码安全连接。首先,在客户端使用`ssh-keygen`生成密钥对,然后利用`ssh-copy-id`命令(或手动复制)将公钥上传至目标服务器的`authorized_keys`文件。接着,务必设置正确的目录和文件权限,确保`~/.ssh`权限为700,`authorized_keys`权限为600。最后,通过`ssh username@server_ip`命令测试免密登录,并提供详细的排查步骤,助您解决配置过程中可能遇到的问题。掌握SSH免密登录,让你的Linux系统管理更加高效便捷!

答案:通过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命令,可手动复制:

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免密登录就能稳定工作。适合用于脚本自动化、集群管理等场景,方便又安全。

好了,本文到此结束,带大家了解了《LinuxSSH免密登录设置教程》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>