当前位置: 首页 > news >正文

【Linux】SSH:免密登录

配置 SSH 的免密登录(基于公钥认证)可实现无需输入密码即可登录远程主机,常用于自动化脚本、服务器集群、DevOps 等场景。


生成本地 SSH 密钥对(若尚未存在)

在本地客户端执行:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • 默认生成:
    • 私钥:~/.ssh/id_rsa
    • 公钥:~/.ssh/id_rsa.pub
  • 一路回车即可,不建议设置 passphrase(否则仍需输入密码)

将公钥复制到远程主机

推荐方式:使用 ssh-copy-id

ssh-copy-id username@remote_host
  • 例:ssh-copy-id root@192.168.1.100
  • 首次会提示输入远程主机密码,后续不再需要

替代方式:手动复制公钥

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh &&cat >> ~/.ssh/authorized_keys &&chmod 600 ~/.ssh/authorized_keys &&chmod 700 ~/.ssh
"

测试免密登录是否生效

ssh username@remote_host
  • 若无提示输入密码,则表示配置成功 ✅

简化登录命令(可选)

在本地编辑:

vi ~/.ssh/config

添加:

Host myserverHostName 192.168.1.100User rootIdentityFile ~/.ssh/id_rsa

之后可直接使用:

ssh myserver

撤销免密登录

  1. 登录远程主机:

    ssh username@remote_host
    
  2. 编辑远程的 authorized_keys 文件:

    vi ~/.ssh/authorized_keys
    
  3. 找到并删除对应的公钥(通过 your_email@example.com 或开头的 key 片段识别)

  4. 保存并退出


启用或禁用 SSH 密码登录

1. 编辑远程主机的 SSH 配置文件:

sudo vi /etc/ssh/sshd_config

2. 常用配置项:

# 启用密码登录(默认):
PasswordAuthentication yes# 禁用密码登录(推荐用于已配置好公钥登录的场景):
# PasswordAuthentication no# 建议同时设置:
ChallengeResponseAuthentication no
UsePAM yes

3. 配置项含义对比表:

配置项含义与“密码登录”关系
PasswordAuthentication是否允许传统用户名+密码登录✅ 直接控制
ChallengeResponseAuthentication是否启用交互式认证(如 OTP、验证码)❌ 非传统密码登录
UsePAM是否启用 PAM 系统(辅助密码或多因子认证)⚠️ 有辅助作用

4. 重启 SSH 服务:

# Ubuntu / Debian:
sudo systemctl restart ssh# CentOS / RHEL:
sudo systemctl restart sshd

相关文章:

  • Cursor实现用excel数据填充word模版的方法
  • 第18节 Node.js Web 模块
  • 双面沉金线路板制作流程解析:高可靠性PCB的核心工艺
  • 【数据结构初阶】单链表
  • 论文调研_BCSD综述论文调研
  • 使用 Ansible 在 Windows 服务器上安装 SSL 证书系列之二
  • SpringBoot项目接口集中测试方法及实现
  • 巴西医疗巨头尤迈Kafka数据泄露事件的全过程分析与AI安防策略分析
  • Mac软件卸载指南,简单易懂!
  • iframe(概念、简单例子、在vue项目中的使用)
  • 【Java微服务组件】分布式协调P4-一文打通Redisson:从API实战到分布式锁核心源码剖析
  • MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
  • GOOUUU ESP32-S3-CAM 果云科技开发板开发指南(一)(超详细!)Vscode+espidf 通过摄像头拍摄照片并存取到SD卡中,文末附源码
  • Go 语言并发编程基础:无缓冲与有缓冲通道
  • VScode 使用 git 提交数据到指定库的完整指南
  • 【Fiddler工具判断前后端Bug】
  • 飞牛云一键设置动态域名+ipv6内网直通访问内网的ssh服务-家庭云计算专家
  • Linux下VSCode开发环境配置(LSP)
  • 阿里云ACP云计算备考笔记 (4)——企业应用服务
  • 客户端和服务器已成功建立 TCP 连接【输出解析】
  • 维护网站费用/深圳宝安seo外包
  • 上海网站开发caiyiduo/百度手机助手官网下载
  • wordpress延时加载插件/谷歌seo推广服务
  • 咸阳网站网站建设/免费seo快速排名工具
  • 怎么做赌博网站吗/网络营销介绍
  • 信息网站建设预算/资源猫