Debian SSH密钥认证如何操作
导读:Debian SSH 密钥认证实操指南 一 准备与生成密钥对 在本地客户端安装 OpenSSH 客户端(如未安装):sudo apt update && sudo apt install -y openssh-client...
Debian SSH 密钥认证实操指南
一 准备与生成密钥对
- 在本地客户端安装 OpenSSH 客户端(如未安装):sudo apt update & & sudo apt install -y openssh-client。
- 生成密钥对(推荐 RSA 4096,也可选 ed25519):ssh-keygen -t rsa -b 4096 -C “you@example.com”。
- 保存位置直接回车使用默认 ~/.ssh/id_rsa,建议为私钥设置密码短语(passphrase)提升安全性。
- 生成后私钥为 ~/.ssh/id_rsa,公钥为 ~/.ssh/id_rsa.pub。
二 将公钥部署到服务器
- 方法一(推荐):使用 ssh-copy-id 自动追加公钥到服务器 ~/.ssh/authorized_keys。
- 默认端口:ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip
- 自定义端口(如 2222):ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2222 user@server_ip
- 方法二(手动):
- 本地查看公钥:cat ~/.ssh/id_rsa.pub,复制以 ssh-rsa 或 ssh-ed25519 开头的一整行。
- 服务器端执行:mkdir -p ~/.ssh & & echo “粘贴的公钥内容” > > ~/.ssh/authorized_keys
- 如用 root 为用户配置,需确保目录归属正确:chown -R user:user ~/.ssh。
三 登录与客户端便捷配置
- 使用私钥连接:ssh -i ~/.ssh/id_rsa user@server_ip(端口非 22 时加 -p 端口)。
- 配置 ~/.ssh/config 简化连接:
- 创建/编辑:nano ~/.ssh/config
- 示例:
Host myserver
HostName server_ip
User user
Port 22
IdentityFile ~/.ssh/id_rsa - 之后可直接:ssh myserver。
四 服务器端权限与关键配置
- 设置安全权限(服务器端):
- chmod 700 ~/.ssh
- chmod 600 ~/.ssh/authorized_keys
- 如由 root 代管:chown -R user:user ~/.ssh
- 确保 SSH 服务允许公钥认证(/etc/ssh/sshd_config):
- PubkeyAuthentication yes
- AuthorizedKeysFile .ssh/authorized_keys(可按需保留 .ssh/authorized_keys2)
- 可选加固:
- 修改端口:Port 2222(避免与默认端口冲突)
- 禁止 root 直登:PermitRootLogin no
- 使配置生效:sudo systemctl restart ssh(或 sshd)。
五 测试与常见问题
- 首次连接会提示确认主机指纹,输入 yes 继续;若私钥设置了密码短语,会再提示输入。
- 先用新开终端测试密钥登录是否成功,再考虑禁用密码登录。
- 禁用密码登录(确保密钥登录已可用):在 /etc/ssh/sshd_config 中将 PasswordAuthentication 设为 no,保存后重启 ssh。
- 常见故障排查:
- 权限不对导致失败:确认 ~/.ssh 为 700、authorized_keys 为 600、属主正确。
- SELinux/AppArmor 环境:必要时调整安全策略或临时置为宽松模式验证。
- 端口非 22:连接与复制时均需使用 -p 端口。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian SSH密钥认证如何操作
本文地址: https://pptw.com/jishu/757794.html
