阅读量:3
Debian SSH无密码登录设置步骤
1. 准备工作:安装SSH服务
若服务器未安装SSH服务,需先通过以下命令安装openssh-server:
sudo apt update && sudo apt install openssh-server -y
安装完成后,启动SSH服务并设置为开机自启:
sudo systemctl start ssh && sudo systemctl enable ssh
2. 生成SSH密钥对(客户端操作)
在本地客户端(如个人电脑)生成RSA密钥对(默认保存路径为~/.ssh/):
ssh-keygen -t rsa -b 4096
- 提示说明:
- 直接按
Enter键使用默认路径(~/.ssh/id_rsa); - 若需自动化场景(如脚本登录),可将
passphrase留空(直接按Enter跳过); - 若需自定义密钥路径,可通过
-f参数指定(如ssh-keygen -t rsa -f ~/.ssh/custom_key)。
生成后,私钥(id_rsa)需严格保密,公钥(id_rsa.pub)需上传至服务器。
- 直接按
3. 将公钥复制到Debian服务器
方法一:使用ssh-copy-id命令(推荐)
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
- 说明:
- 替换
username为服务器上的目标用户(如root、debian); - 若服务器SSH端口非默认
22,需添加-p参数(如ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2222 username@server_ip); - 执行后会提示输入服务器用户密码,输入正确后公钥会自动追加至服务器的
~/.ssh/authorized_keys文件。
- 替换
方法二:手动复制(若无ssh-copy-id)
- 步骤1:在客户端查看公钥内容:
cat ~/.ssh/id_rsa.pub - 步骤2:登录服务器,创建
.ssh目录并设置权限:mkdir -p ~/.ssh && chmod 700 ~/.ssh - 步骤3:将公钥内容追加至
authorized_keys文件:echo "粘贴公钥内容" >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys注意:
authorized_keys文件权限必须为600(仅所有者可读写),否则会导致密钥认证失败。
4. 配置SSH服务允许密钥认证
编辑服务器上的SSH配置文件(/etc/ssh/sshd_config):
sudo nano /etc/ssh/sshd_config
- 关键配置项修改:
PubkeyAuthentication yes # 允许公钥认证(默认yes,可保留) AuthorizedKeysFile .ssh/authorized_keys # 指定公钥文件路径(默认即可) PasswordAuthentication no # 禁用密码认证(测试成功后再修改) - 可选优化:
- 更改默认端口(增强安全性,避免暴力破解):
Port 2222 # 修改为非22端口(如2222) - 禁止root用户直接登录(减少攻击面):
PermitRootLogin no # 仅允许普通用户登录,再通过`sudo`提权
- 更改默认端口(增强安全性,避免暴力破解):
修改完成后,保存并退出编辑器(Ctrl+X→Y→Enter),重启SSH服务使配置生效:
sudo systemctl restart ssh
5. 测试无密码登录
在客户端使用私钥连接服务器:
ssh -i ~/.ssh/id_rsa username@server_ip
- 若修改了SSH端口,需添加
-p参数:ssh -i ~/.ssh/id_rsa -p 2222 username@server_ip - 预期结果:输入服务器用户密码后(若
passphrase留空则无需输入),直接登录成功,无需再次输入密码。
6. 安全注意事项
- 保护私钥:私钥(
id_rsa)是登录凭证,需设置权限为600(chmod 600 ~/.ssh/id_rsa),避免泄露; - 备份密钥:将私钥备份至安全位置(如加密U盘),防止丢失;
- 定期更换密钥:每3-6个月更换一次密钥对,提升安全性;
- 监控登录日志:通过
journalctl -u ssh或/var/log/auth.log查看登录记录,及时发现异常; - 防火墙设置:若使用
ufw防火墙,需允许SSH端口(默认22或自定义端口):sudo ufw allow 22/tcp # 若修改了端口,替换为实际端口 sudo ufw enable
通过以上步骤,即可实现Debian系统的SSH无密码登录,既提升了远程管理的便利性,又通过密钥认证增强了安全性。
以上就是关于“Debian SSH无密码登录设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm