news 2026/9/26 13:57:30

openeuler的ssh证书认证(免密码登录)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
openeuler的ssh证书认证(免密码登录)

📌 一、SSH 证书认证(免密登录)完整步骤

我们以openEuler 系统为例,假设三台机器信息如下:

  • test01:192.168.190.143
  • test02:192.168.190.144
  • test03:192.168.190.145(你可以替换为自己的 IP)

1. 规划与准备
  • 目标:三台机器之间能相互免密 SSH 登录
  • 前提:三台机器网络互通(可以互相ping通)

建议:在三台机器上创建相同的普通用户(如lcy),避免直接用root操作(更安全)


2. 创建统一账号(在三台机器分别执行)

运行

# 创建用户 lcy useradd lcy # 设置密码(按提示输入两次) passwd lcy

若已存在相同账号,可跳过此步。


3. 生成密钥对(在每台机器上执行)

切换到目标用户(如lcy),生成 RSA 密钥对:

运行

# 切换用户 su - lcy (这个是普通用户,权限较低) # 生成密钥对(一路回车,默认即可,不需要设置密码) ssh-keygen -t rsa

注释

执行后会在~/.ssh/目录下生成:

  • id_rsa:私钥(务必妥善保管,不要泄露)
  • id_rsa.pub:公钥(需要分发到其他机器)
4. 分发公钥到其他机器(实现免密)

在每台机器上,将自己的公钥发送到另外两台机器:

以 test01 为例:

需要注意两点

1.在最高权限root管理员操作下述步骤,只能实现三台虚拟机的root管理员之间的免密登录;而在lcy普通用户执行下述命令,则只能实现三台虚拟机的普通用户之间的免密登录,不能实现跨用户的免密登录。

2.如果只在test01给test02、test03发送公钥,只能实现01--去往02、01--去往03的免密登录,而02--去往03等则需要输入密码。如果在test、test02、test03都发送公钥,则能实现全部免密码登录。

运行

# 将 test01 的公钥发送到 test02 ssh-copy-id lcy@192.168.190.144 /*ssh-copy-id这行代码没有空格*/ # 将 test01 的公钥发送到 test03 ssh-copy-id lcy@192.168.190.145

在 test02 上执行:

运行

ssh-copy-id lcy@192.168.190.143 ssh-copy-id lcy@192.168.190.145

在 test03 上执行:

运行

ssh-copy-id lcy@192.168.190.143 ssh-copy-id lcy@192.168.190.144

执行时需要输入目标机器的用户密码,执行成功后,后续登录就不需要再输密码了。

5. 验证免密登录

在任意一台机器上,尝试 SSH 连接另外两台:

运行

# 从 test01 登录 test02 ssh lcy@192.168.190.144 # 从 test01 登录 test03 ssh lcy@192.168.190.145

如果直接登录成功,没有提示输入密码,说明免密配置完成 ✅

📌 二、软件仓库配置(VMware NAT 模式)

根据笔记要求,先确保虚拟机网络与网关一致:

1. 检查并配置 VMware 虚拟网络
  1. 打开 VMware → 编辑 → 虚拟网络编辑器
  2. 选择VMnet8(NAT 模式)
  3. 点击「NAT 设置」,记录网关 IP(通常为192.168.190.2或类似)
  4. 确保 openEuler 虚拟机的网络配置中,网关与上述一致:运行

# 编辑网卡配置文件(文件名可能为 ifcfg-ens33 等) vi /etc/sysconfig/network-scripts/ifcfg-ens33

确保GATEWAY字段与 VMware NAT 网关相同,例如:ini

GATEWAY=192.168.190.2
  1. 重启网络服务:运行
sudo systemctl restart NetworkManager
2. 重启终端并验证 Ansible 软件源

运行

# 重启终端后,检查 Ansible 源是否配置 sudo dnf list | grep ansible

如果能看到 ansible 相关包,说明软件仓库配置正常;若找不到,需要先配置 openEuler 官方或第三方仓库。


💡 常见问题排查

  1. 免密登录仍提示输入密码
    • 检查~/.ssh/authorized_keys权限:运行
chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh
    • 确保公钥已正确写入目标机器的authorized_keys文件
  1. 网络不通
    • 用ping测试目标 IP 是否通
    • 检查防火墙:sudo systemctl stop firewalld(临时关闭测试)
  1. 软件包找不到
    • 确保已启用EPEL或 openEuler 官方仓库:运行
sudo dnf install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

✅ 最终效果

  • 三台 openEuler 机器之间可以用ssh 用户名@IP直接免密登录
  • 软件仓库正常,可通过dnf安装 ansible 等工具
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/23 9:41:05

【避坑指南】Anaconda+Pytorch+DGL一站式环境搭建与疑难排解

1. 为什么需要AnacondaPytorchDGL组合? 如果你刚开始接触深度学习,可能会被各种框架、库和环境配置搞得头晕眼花。我这里要分享的AnacondaPytorchDGL组合,可以说是入门图神经网络(GNN)最友好的技术栈。先说Anaconda,它就像个万能工…

作者头像 李华
网站建设 2026/9/26 13:57:05

ollama-QwQ-32B领域适配实战:优化OpenClaw医疗文本处理

ollama-QwQ-32B领域适配实战:优化OpenClaw医疗文本处理 1. 为什么选择QwQ-32B做医疗领域适配 去年我在整理医学文献时,发现通用大模型对专业术语的理解总差那么一口气。当处理"糖化血红蛋白"这类术语时,模型要么混淆概念&#xf…

作者头像 李华
网站建设 2026/8/23 9:41:05

OneWireEEPROM:嵌入式单总线EEPROM轻量驱动库

1. 项目概述OneWireEEPROM 是一个面向嵌入式系统的轻量级、单总线(1-Wire)接口 EEPROM 驱动库,专为在资源受限的微控制器(如 STM32F0/F1/F4、ESP32、nRF52 等)上可靠读写 Dallas/Maxim 兼容的 1-Wire EEPROM 器件&…

作者头像 李华
网站建设 2026/8/23 9:41:06

cv_resnet18_ocr-detection OCR检测:WebUI界面操作与结果解析

cv_resnet18_ocr-detection OCR检测:WebUI界面操作与结果解析 1. 引言:从模型到界面,让OCR检测触手可及 想象一下,你手头有一堆产品包装图、文档扫描件或者街拍照片,里面包含大量文字信息。手动录入这些文字不仅耗时…

作者头像 李华
网站建设 2026/8/23 9:41:06

AI能教你写代码,但教不了你做架构

有人说AI正在拉平技术差距,让小公司的工程师也能接触到大公司的知识。 AI能提供知识,但提供不了经验。AI的知识来自文档和代码,不是来自实际项目的成败。所以它给的建议,往往是"理论上可能正确",但"实际…

作者头像 李华
网站建设 2026/8/23 9:41:06

电源平面谐振分析避坑指南:用PowerSI定位DDR4设计中的隐藏风险点

电源平面谐振分析实战:用PowerSI精准定位DDR4设计中的隐形杀手 在高速数字电路设计中,DDR4接口的电源完整性就像人体血液循环系统——看似平静的表面下,任何微小的阻塞或共振都可能导致系统机能紊乱。我曾亲眼见证过一个运行在2400MHz的DDR4模…

作者头像 李华