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

AMD Radeon Cloud SSH Connection Refused 的原因与解决方案

一、问题现象及分析

在AMD Radeon Cloud中自定义创建template时,即使勾选了SSH Access,大部分image也不会启动(甚至安装)sshd,导致通过AMD提供的 host:port 进行连接时,会报错Connection refused

官方文档中提到:

SSH connection does not appear

To expose SSH for a container, the application must:

  • Run the SSH daemon inside the container.
  • Configure a port namedSSHwith value 22.

The workload may need to pull the image, so the SSH port can appear after a delay.

推测大部分image还未更新SSH Access情况下的基础环境配置,故需在创建image后手动安装并启动sshd。

二、解决方案

根据上述分析,我们只需要在template创建好后,以notebook方式launch为实例,在JupyterLab中通过终端安装openssh-server并启动即可

注:因可能需要apt update,所以可以提前配置好apt的镜像以加快速度。另外,最终会有ss命令检查监听端口,可以提前安装iproute2或不执行此步。

#!/bin/bash set -e # Root check if [ "$(id -u)" -ne 0 ]; then echo "[ERROR] Please run as root." exit 1 fi CONFIG="/etc/ssh/sshd_config" echo "[1/6] Installing OpenSSH Server..." export DEBIAN_FRONTEND=noninteractive apt update -y apt install -y openssh-server echo "[2/6] Creating required directories..." mkdir -p /var/run/sshd mkdir -p /root/.ssh chmod 700 /root/.ssh echo "[3/6] Generating host keys..." ssh-keygen -A echo "[4/6] Checking sshd configuration..." # Port 22 if ! grep -Eq "^Port[[:space:]]+22$" "$CONFIG"; then echo "" >> "$CONFIG" echo "# Added by AAC SSH Fix" >> "$CONFIG" echo "Port 22" >> "$CONFIG" fi # Root login if ! grep -Eq "^PermitRootLogin[[:space:]]+yes$" "$CONFIG"; then echo "PermitRootLogin yes" >> "$CONFIG" fi echo "[5/6] Validating configuration..." sshd -t echo "[6/6] Starting SSH daemon..." if pgrep -x sshd >/dev/null; then echo "sshd is already running." else /usr/sbin/sshd -E /var/log/sshd.log fi echo echo "==========================================" echo " SSH setup completed" echo "==========================================" # check sshd if pgrep -x sshd >/dev/null; then echo "[OK] sshd process is running." else echo "[WARNING] sshd process not detected." fi # if have ss command if command -v ss >/dev/null 2>&1; then echo echo "Listening ports:" ss -tln | grep ":22 " || \ echo "[NOTICE] Port 22 not found in ss output." else echo echo "[NOTICE] 'ss' command not found (iproute2 not installed)." echo "Skipping port listening check." fi echo echo "Host keys:" ls -1 /etc/ssh/ssh_host_* 2>/dev/null || true echo echo "SSH log:" echo " /var/log/sshd.log" echo echo "Done."

使用方法

该解决方案已上传github,可下载.sh文件或本地创建start_ssh.sh文件使用

wget https://raw.githubusercontent.com/Javrou/ARC-SSH-fix/main/start_ssh.sh chmod +x start_ssh.sh ./start_ssh.sh

运行后尝试ssh连接:

连接成功

仓库地址GitHub - Javrou/ARC-SSH-fix: Fix SSH Connection Refused on AMD Radeon Cloud(ARC) · GitHub

http://www.cnnetsun.cn/news/3054768.html

相关文章:

  • 收藏 | RAG检索实战:关键词+向量+混合+Rerank,小白也能掌握大模型核心技术
  • 深入浅出 Linux 内核・进程篇:ARM 架构
  • TAS2564评估板实战:从数字功放原理到立体声系统集成
  • AcWing算法学习计划
  • 英雄联盟皮肤资源库:一站式获取所有官方皮肤与炫彩包
  • TAS5414A/TAS5424A D类功放诊断与保护机制全解析
  • 分库分表实战
  • SQLModel零基础教程(五)- 工程化封装 迁移工具
  • FluxDown:替代IDM的免费下载器
  • PCB 新手 18 类常见错误汇总
  • OpenGL学习笔记-04-着色器-基础说明
  • SQL注入漏洞实战:从手工注入到参数化查询修复
  • TI TPIC7710EVM评估模块:汽车EPB系统ASIC驱动与电机控制实战解析
  • EtherCAT重学之二: EtherCAT 系统硬件架构
  • 从零到一:如何用免费开源Verilog工具链打造专业数字电路
  • 从让AI写代码,到让AI管流程
  • Burp Suite实战:验证码场景下的自动化渗透测试与绕过技术
  • 权威测评:2026年实力出众的专业AI论文工具
  • 关于我的第十次web作业
  • 3步搞定Navicat无限试用:Mac用户的终极解决方案 [特殊字符]
  • DICOM图像核心参数实战指南:从像素到诊断的精准度量
  • 无需编程,快速打造专属物联网APP——ThingsCloud平台实战指南
  • 煤矿通信 “侦察兵”:光缆普查仪 CM-K60 助力井下光缆快速识别
  • MATLAB双目相机标定:从工具箱实战到参数解析
  • 企业AI化转型核心:打造分工协作的多Agent团队,小白也能看懂!
  • League Akari终极指南:8个秘诀掌握英雄联盟自动秒选黑科技
  • 【独家首发】ChatGPT API调用诊断工具包(含12个自检函数+实时token追踪+异常归因热力图)
  • 深入解析TL16C552:双串一并通信控制器的硬件设计与软件驱动
  • 【R语言实战】解锁Wind与iFinD金融数据:从零到一的API调用与避坑指南
  • 如何用League Akari实现英雄联盟自动秒选:终极配置指南