431 字
2 分钟
linux服务器免密ssh连接教程
2025-08-12

1:电脑本地生成SSH密钥对#

ssh-keygen -t ed25519

一路回车即可

本机是Win系统:#

默认生成在C:\Users\用户名\.ssh\目录

本机是Linux系统:#

默认生成在~/.ssh/目录

2:密钥对说明#

id_ed25519是私钥,需要保存在本地,不能泄漏。

id_ed25519.pub是公钥,需要将里面的内容复制到要连接的目标主机~/.ssh/authorized_keys中,可以公开。

这样就可以免密连接目标主机了,其他的都可以不用管,不过为了安全,建议关闭密码认证。

私钥相当于钥匙,公钥相当于锁,将锁放在目标主机上,本机就可以使用钥匙开锁。

当然也可以将锁放在多个目标主机上,实现一把钥匙开多个锁。也就是一个私钥免密连接多个主机。

3:~目录说明#

~代表当前用户的家目录

Linux系统:#

普通用户:~等于/home/用户名/目录

root用户:~等于/root/目录

Windows系统:#

当前用户:~等于C:\Users\用户名\目录

4:使用命令将公钥复制到目标主机#

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@192.168.2.1

如果你的目标主机ssh端口不是默认的22,则需要指定端口参数,例如2233端口:

ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2233 root@192.168.2.1

这条命令会自动把id_ed25519.pub的内容追加到目标主机的~/.ssh/authorized_keys

多个主机可以使用脚本for循环批量执行

5:注意事项#

目标主机上需要正确的权限设置,一般默认的权限就是正确的。无需改动。

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

如果你是在目标主机上生成SSH密钥对的话,则把私钥下载到本地即可。

linux服务器免密ssh连接教程
https://emohe.cn/posts/31/
作者
阿涛の小破站
发布于
2025-08-12
许可协议
CC BY-NC-SA 4.0