乐于分享
好东西不私藏

SSH 禁用密码登录,只用密钥,免密登录ssh

SSH 禁用密码登录,只用密钥,免密登录ssh

一、客户端生成 ed25519 密钥

ssh-keygen -t ed25519

二、把公钥上传到 Debian 服务器

  1. Linux环境

    ssh-copy-id -i ~/.ssh/id_ed25519.pub user@debian-ip
  2. Windows环境

(1)PowerShell(推荐使用)

# 查看公钥内容cat $env:USERPROFILE\.ssh\id_ed25519.pub#一键推送公钥到远程服务器cat $env:USERPROFILE\.ssh\id_ed25519.pub | ssh user@192.168.154.157 "umask 077; mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys; chmod 600 ~/.ssh/authorized_keys"

(2)也可以分步操作

1. 打开 id_ed25519.pub,复制里面全部内容2.登录 Debian 服务器,创建 / 编辑授权文件# 先确保 .ssh 文件夹存在、权限正确mkdir -p ~/.sshchmod 700 ~/.ssh# 编辑授权文件,粘贴公钥内容nano ~/.ssh/authorized_keys3.保存(Ctrl+O 回车 → Ctrl+X),设置正确权限(非常关键!权限错误会免密失效)chmod 600 ~/.ssh/authorized_keys

三、编辑 ssh 配置

sudo nano /etc/ssh/sshd_config

确认以下选项:

PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keysPasswordAuthentication no

四、重启SSH服务

sudo systemctl restart ssh

五、Moba登录设置

指定用户名,高级设置:选择私钥文件。