Linux免密登录依赖SSH密钥对认证,需本地生成ed25519密钥对、将公钥用ssh-copy-id部署至服务器~/.ssh/authorized_keys,并确保服务端启用PubkeyAuthentication及权限正确(私钥600、目录700)。

Linux免密登录靠的是SSH密钥对认证,核心是本地生成密钥对,再把公钥传到目标服务器的~/.ssh/authorized_keys里。只要私钥安全、权限设置正确,就能跳过密码直接登录。
生成SSH密钥对(推荐ed25519)
在你自己的电脑(或跳板机)上执行:
ssh-keygen -t ed25519 -C "your_email@example.com"
登录后复制
回车接受默认路径(~/.ssh/id_ed25519),可选设个密钥口令(为空则完全免密,设了需输一次口令解锁私钥)。完成后会生成两个文件:
-
id_ed25519:私钥(绝不能泄露,权限应为600) -
id_ed25519.pub:公钥(可公开,要传到服务器)
把公钥复制到远程服务器
最简单安全的方式是用ssh-copy-id(无需手动处理权限):
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
登录后复制
它会自动创建~/.ssh目录、写入authorized_keys,并设好权限(~/.ssh为700,authorized_keys为600)。如果提示命令未找到,可手动复制公钥内容,粘贴进服务器的~/.ssh/authorized_keys末尾(确保换行结尾)。
检查并启用密钥登录(服务端配置)
登录服务器后,确认SSH服务允许公钥认证:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~