Background

使用密钥进行SSH认证

266
1 分钟阅读

在本地生成SSH密钥对

Terminal window
ssh-keygen -t ed25519 -C "your_email@example.com"

这条命令会生成一个新的Ed25519密钥对。按照提示操作,选择保存路径(默认是~/.ssh/id_ed25519)并设置一个安全的密码短语(可选)。

将公钥复制到远程服务器

Terminal window
ssh-copy-id username@remote_host

username替换为你的远程服务器用户名,remote_host替换为远程服务器的IP地址或域名。此命令会将你的公钥添加到远程服务器的~/.ssh/authorized_keys文件中。

或者,你也可以手动将公钥复制到远程服务器:

Terminal window
# 在本地查看公钥内容
cat ~/.ssh/id_ed25519.pub

然后在远程服务器上编辑~/.ssh/authorized_keys文件,将公钥内容粘贴进去。

Terminal window
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "your_public_key_content" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

使用ssh-agent缓存passphrase

Linux和macOS:

Terminal window
# 启动ssh-agent
eval "$(ssh-agent -s)"
# 添加私钥到ssh-agent
ssh-add ~/.ssh/id_ed25519

Windows (使用openSSH):

Terminal window
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519
使用密钥进行SSH认证
/blog/26024646
作者
发布于
2026/1/8
许可协议
CC BY-NC-SA 4.0