s-blog

配置 SSH-KEY

ssssmy · 2026-05-28 · 2 min · Linux

使用 SSH 密钥对进行免密登录,避免每次连接服务器都输入密码。

生成密钥对

# 生成 RSA 密钥(推荐 4096 位)
ssh-keygen -t rsa -b 4096 -C "[email protected]"

# 生成 Ed25519 密钥(更安全、更快)
ssh-keygen -t ed25519 -C "[email protected]"

执行后会提示:

  • 保存位置(默认 ~/.ssh/id_rsa
  • 密码短语(可留空)

将公钥复制到服务器

方法一:ssh-copy-id(Linux/macOS)

ssh-copy-id -i ~/.ssh/id_rsa.pub username@server-ip

方法二:手动复制(Windows/通用)

步骤 1:查看公钥内容

# Windows PowerShell
Get-Content ~\.ssh\id_rsa.pub

# Linux/macOS
cat ~/.ssh/id_rsa.pub

步骤 2:登录服务器并添加公钥

# 使用密码登录服务器
ssh username@server-ip

# 创建 .ssh 目录(如果不存在)
mkdir -p ~/.ssh

# 设置正确的权限
chmod 700 ~/.ssh

# 将公钥添加到 authorized_keys 文件
echo "粘贴你的公钥内容" >> ~/.ssh/authorized_keys

# 设置 authorized_keys 文件的权限
chmod 600 ~/.ssh/authorized_keys

验证免密登录

ssh username@server-ip

如果配置成功,将不再提示输入密码。

SSH 配置文件

编辑 ~/.ssh/config 文件,简化连接命令:

Host myserver
    HostName 192.168.1.100
    User username
    Port 22
    IdentityFile ~/.ssh/id_rsa

之后可以直接使用:

ssh myserver

常见问题

# 权限问题:确保权限正确
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

# 调试连接
ssh -v username@server-ip

原文链接:https://www.ssssmy.com/notes/pei-zhi-ssh-key