跳到主要内容

服务器密钥登录

· 阅读需 1 分钟
yrx
Coder

服务器配置密钥登录。

Windows(PowerShell):

ssh-keygen -t rsa -b 4096 -C "your_email"

生成后会得到两个文件:

  • id_rsa —— 私钥(必须保管好)
  • id_rsa.pub —— 公钥

2. 将公钥上传到服务器

2.1 自动上传

ssh-copy-id -i ~/.ssh/id_rsa.pub root@你的服务器IP

或者

type C:\Users\rongx\.ssh\id_rsa.pub | ssh root@你的服务器IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

2.2 手动上传

在服务器执行:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys

把你的公钥粘贴进去。

然后:

chmod 600 ~/.ssh/authorized_keys

检查是否上传成功:

cat ~/.ssh/authorized_keys

3. 修改服务器配置

编辑:

sudo vi /etc/ssh/sshd_config

找到以下配置并修改为:

# 禁止密码登录
PasswordAuthentication no

# 禁止使用空密码
PermitEmptyPasswords no

# 允许密钥登录
PubkeyAuthentication yes

# 禁用 root 密码登录(可选但更安全)
PermitRootLogin prohibit-password

4. 重启SSH服务

sudo systemctl restart ssh