新闻详情

新闻详情

首页 / 资讯中心 / 详情

docker容器SSH免密登录ECS

发布时间:2026/10/1 10:04:21来源:尧图网络
docker容器SSH免密登录ECS
/** * 通过SSH连接到FE Leader节点执行grep命令检测Full GC日志 * * ssh.privateKey和ssh.publicKey环境执行命令 * ssh-keygen -t rsa -b 2048 -m PEM -f id_rsa生成 * * 公钥和私钥必须配对公钥提前需要追加到StarRocks集群的/root/.ssh/authorized_keys文件中才能实现免密登录 */ 公钥要提前添加到ECS上 chattr -i /root/.ssh/authorized_keys KEY AUTH/root/.ssh/authorized_keys if grep -qF -- $KEY $AUTH; then echo 已存在跳过追加: $AUTH else echo $KEY $AUTH echo 已追加到: $AUTH fipackage org.example; import com.jcraft.jsch.ChannelExec; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class App { public static void main(String[] args) { String user root; String host ; int port 22; try { JSch jsch new JSch(); // 直接提供私钥内容更安全不存储文件 String privateKey ; jsch.addIdentity(key-name, privateKey.getBytes(), null, null); Session session jsch.getSession(user, host, port); // 禁用密码认证强制使用密钥 //session.setConfig(PreferredAuthentications, publickey); session.setConfig(StrictHostKeyChecking, no); // 仅测试用生产环境应验证 session.connect(); System.out.println(Connected!); // 执行命令示例 ChannelExec channel (ChannelExec) session.openChannel(exec); channel.setCommand(cat /root/testSSH20260904.log); // 3. 获取命令输出流关键读取命令执行结果 InputStream inputStream channel.getInputStream(); // 启动通道执行命令 channel.connect(); // 4. 读取输出内容 BufferedReader reader new BufferedReader(new InputStreamReader(inputStream)); String line; StringBuilder output new StringBuilder(); System.out.println( 命令执行输出开始 ); while ((line reader.readLine()) ! null) { output.append(line).append(\n); System.out.println(line); // 实时打印每行输出 } System.out.println( 命令执行输出结束 ); // 5. 检查命令执行状态0成功非0失败 int exitStatus channel.getExitStatus(); if (exitStatus 0) { System.out.println(\n命令执行成功退出状态码 exitStatus); } else { System.err.println(\n命令执行失败退出状态码 exitStatus); // 读取错误输出如命令不存在、文件无权限等 InputStream errorStream channel.getErrStream(); BufferedReader errorReader new BufferedReader(new InputStreamReader(errorStream)); String errorLine; StringBuilder errorOutput new StringBuilder(); while ((errorLine errorReader.readLine()) ! null) { errorOutput.append(errorLine).append(\n); } System.err.println(错误信息 errorOutput); } channel.disconnect(); session.disconnect(); } catch (JSchException e) { e.printStackTrace(); } catch (IOException e) { throw new RuntimeException(e); } } }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

把自己当公司:独立博客持续产出的系统化运营方法 2026/10/1 18:06:10

把自己当公司:独立博客持续产出的系统化运营方法

把自己像公司一样运作——这句话我在博客圈听了很多年,真正开始理解,是在自己把博客从“随缘更新”变成“持续产出”之后。简单来说,就是把你的技能、内容和影响力当成一家公司来经营:有战略,有产品,有市场…

阅读更多 →
无线网络“防撞”机制全解析:从CSMA/CA到断流排查 2026/10/1 18:06:10

无线网络“防撞”机制全解析:从CSMA/CA到断流排查

各位搞无线网络的老朋友,今天想跟你聊聊无线网络里那个特别容易被忽略、却又无处不在的“防撞”智慧。说白了,就是让一堆无线设备在同一个空间里各自有序传输,不互相“打架”的那套机制。你可能在配置AP信道、排查无线断流、或者在交换机上做…

阅读更多 →
QFD实战指南:新能源检测设备需求精准转化方法 2026/10/1 18:06:04

QFD实战指南:新能源检测设备需求精准转化方法

简介:本资源是一份面向新能源、汽车电子及检测技术领域研发工程师的QFD(质量功能展开)实战解析文档,聚焦需求引导设计在高技术产品开发中的落地应用。文档以生动案例切入,系统讲解QFD核心工具——质量屋的七大构成要素…

阅读更多 →
软件项目实施方案八阶段拆解:从需求调研到系统交接的落地指南 2026/10/1 18:06:04

软件项目实施方案八阶段拆解:从需求调研到系统交接的落地指南

简介:面向软件项目经理、实施顾问、开发测试人员及刚启动信息化项目的用户,这份《软件项目实施方案书》是一份结构清晰、可直接落地的实施文档模板。方案围绕八个实施阶段展开:项目启动、需求调研确认、软件功能实现确认、数据标准化初装、系…

阅读更多 →
强化学习稀疏奖励难题破解:HER后见之明经验回放原理与PyTorch实现 2026/10/1 18:06:04

强化学习稀疏奖励难题破解:HER后见之明经验回放原理与PyTorch实现

看到“hindsight”这个词,大多数人的第一反应是“事后诸葛亮”,是那种考试对完答案后“我其实会做”的懊恼,还是走错路之后“刚刚应该右转”的顿悟。但在强化学习这个圈子里,hindsight还有一个非常具体的指向——Hindsight Experi…

阅读更多 →
从零构建AI工程:完整路线图与实战复盘 2026/10/1 18:06:04

从零构建AI工程:完整路线图与实战复盘

"ai-engineering-from-scratch"这个名字最早出现在我笔记里,还是三年前。当时我在一家互联网公司做后端,每天看着算法团队的PPT——"训练损失下降""模型效果提升"——心里很清楚自己在AI面前就是个门外汉。真正促使我开始…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉