SSH 通过密钥登录服务器
SSH 通过密钥登录服务器
要通过 SSH 密钥登录服务器,一般分为三步:先生成密钥对,再把公钥传到服务器,最后在本地配置 ~/.ssh/config,方便以后直接连接。
一、生成密钥对
使用 ssh-keygen 生成一对 SSH 密钥,推荐使用 ed25519,安全性和性能都比较好。
ssh-keygen -t ed25519 -C "注释" -f ~/.ssh/id_ed25519参数说明
-t ed25519:指定密钥类型为ed25519-C "注释":为密钥添加备注,一般可以写邮箱或用途-f ~/.ssh/id_ed25519:指定密钥文件的保存路径和文件名
执行后会提示输入密码短语:
- 可以设置密码短语,增强私钥安全性
- 也可以直接回车留空,登录时更方便,但安全性会降低
二、把公钥传输到服务器
生成密钥后,需要把公钥上传到服务器,让服务器信任这把钥匙。
方法一:使用 ssh-copy-id(推荐)
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@example.com参数说明
-i ~/.ssh/id_ed25519.pub:指定要上传的公钥文件user@example.com:替换为你的服务器用户名和地址
方法二:手动添加
如果本地没有 ssh-copy-id,可以手动把公钥内容写入服务器的 authorized_keys。
- 查看本地公钥内容:
cat ~/.ssh/id_ed25519.pub- 登录服务器:
ssh user@example.com- 确保服务器上有
.ssh目录:
mkdir -p ~/.ssh- 将公钥内容追加到
authorized_keys:
echo "公钥内容" >> ~/.ssh/authorized_keys- 设置正确权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys权限说明
~/.ssh目录权限建议为700authorized_keys文件权限建议为600
注意:权限不正确时,SSH 可能会忽略你的公钥。
三、编辑本地的 ~/.ssh/config 文件
为了以后连接更方便,可以在本地编辑 SSH 配置文件,把服务器信息写进去。
打开配置文件:
vim ~/.ssh/config如果文件不存在,可以新建一个,然后添加如下内容:
Host myserver
HostName example.com
User root
Port 22
IdentityFile ~/.ssh/id_ed25519配置说明
Host myserver:起一个连接别名,之后可以直接用ssh myserverHostName example.com:服务器真实地址或 IPUser root:登录服务器的用户名Port 22:SSH 端口,默认是 22IdentityFile ~/.ssh/id_ed25519:指定使用的私钥文件
使用方式
配置完成后,直接执行:
ssh myserver即可连接服务器,无需每次都手动输入用户名、地址和密钥路径。
SSH 通过密钥登录服务器
https://blog.979909.xyz/2026/05/12/SSH-通过密钥登录服务器/