来自 GNU/Linux 命令行的 Dell iDRAC6 虚拟控制台查看器

来自 GNU/Linux 命令行的 Dell iDRAC6 虚拟控制台查看器

我很恼火,因为我想通过 iDRAC6 使用虚拟控制台,但我必须启动网络浏览器。

我已成功下载viewer.jnlp并可以启动查看器:

javaws viewer.jnlp

viewer.jnlp但每次运行似乎都会发生变化。具体来说:

<argument>user=1234567890</argument>                                                   
<argument>passwd=123456789</argument>                                                  

我的猜测是 iDRAC6 每次运行时都会生成一个随机用户/密码,并且只能使用一次。

如果我能简单地做到这一点,我会更愿意:

drac-virtual-console-viewer username password drac.ip.nr

有这样的工具吗?

或者有什么方法可以下载viewer.jnlp给定的用户名/密码?

似乎其他版本的 iDRAC 支持 VNC,但我无法在 iDRAC6 上使用它。但如果我能让它工作,它也能解决我的问题。

系统:Dell R815 iDRAC6

答案1

假设 iDRAC IP 是 10.64.31.76

https://10.64.31.76:443/software/avctKVM.jar从您的 iDRAC下载此文件

跑步:

java -cp Downloads/avctKVM.jar com.avocent.idrac.kvm.Main ip=10.64.31.76 kmport=5900 vport=5900 user=root passwd=calvin apcp=1 version=2 vmprivilege=true "helpurl=https://10.64.31.76:443/help/contents.html"

用户和 root 密码是 idrac 凭证。

我有一个工作的控制台

已测试:

  • Windows 10
  • java 版本 "10.0.2" 2018-07-17
  • Java(TM) SE 运行时环境 18.3(版本 10.0.2+13)
  • Java HotSpot(TM) 64 位服务器 VM 18.3(版本 10.0.2+13,混合模式)
  • iDRAC 6 企业版
  • PowerEdge R310

致谢:https://gist.github.com/xbb/4fd651c2493ad9284dbcb827dc8886d6

答案2

有 2 个控制台可用:

  1. 通过 iDRAC VNC 的 VGA
  2. 通过 IPMI 进行串行连接

显卡

  1. 安装JDK
  2. Linux 工作站:下载avctVMLinux64.jaravctKVMIOLinux64.jar创建一个lib文件夹,然后解压libavctKVMIO.solibavmlinux.so放入lib/文件夹中。您可以在文件中找到 URL *.jnlp
  3. Windows 工作站:下载在中找到的类似文件*.jnlp。下载avctVMWin64.jaravctKVMIOWin64.jar。创建lib文件夹,然后解压avctKVMIO.dllavmlinux.dll放入lib文件夹中。
  4. 编辑jre/lib/security/java.security并确保3DES_EDE_CBC删除jdk.tls.legacyAlgorithms=
  5. 导入 SSL 证书:$JAVA_HOME/bin/keytool -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -importcert -file <(echo ""|openssl s_client -connect iDRACHostName:443 2>/dev/null|openssl x509) -alias iDRACHostName -noprompt
  6. 连接:$JAVA_HOME/bin/java -cp avctKVM.jar -Djava.library.path=./lib com.avocent.idrac.kvm.Main ip=iDRACHostName kmport=5900 vport=5900 apcp=1 version=2 vmprivilege=true helpurl=https://iDRACHostName:443/help/contents.html user=Administrator passwd=ipmi_password

智能平台管理界面

  1. 在 BIOS 中配置串行重定向
  2. Linux:在 GRUB 中配置串行支持并安装和配置串行agetty
  3. Windows:启用串行控制台,然后重新启动:bcdedit /ems {current} on然后bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200
  4. 连接:ipmitool -I lanplus -H iDRACHostName -U Administrator -P password sol activate

答案3

这是迄今为止最简单的方法:https://github.com/DomiStyle/docker-idrac6

一个基于 Web 的 Docker 容器,为您提供完整的功能!

答案4

这更像是 Exeral 的附录选定的答案

我不仅遇到了 Java Web Start 问题,还遇到了(已弃用的)禁用密码/算法。

我选择使用一台老旧的 GNU/Linux 虚拟机,它有一个足够老旧的浏览器(使用旧的 SSL/TLS 协议)。不幸的是,Java Web 启动对我来说不起作用。然后,当尝试 avctKVM.jar 解决方案时,应用程序无法通过 SSL/TLS 握手。JRE 安全设​​置需要调整禁用算法。

就我的虚拟机而言,似乎没有系统范围的 java.security 文件在正常位置所以我创建了一个临时的来指向(建议不要进行永久性的、不安全的系统范围更改)。

# WARNING: This is extremely insecure
~ cat enableLegacy.security
jdk.tls.disabledAlgorithms=NULL

经过多次修改后,我发现 Java 选项的顺序对我来说很重要。

(就像 exeral 的回答一样,https://10.64.31.76:443/software/avctKVM.jar从 iDRAC 下载此文件。)

执行 avctKVM.jar 时指定 java 安全文件:

java -Djdk.tls.disabledAlgorithms=enableLegacy.security -cp Downloads/avctKVM.jar com.avocent.idrac.kvm.Main ip=10.64.31.76 kmport=5900 vport=5900 user=root passwd=calvin apcp=1 version=2 vmprivilege=true "helpurl=https://10.64.31.76:443/help/contents.html"

我希望这对其他人有帮助。

已测试:

  • CentOS 7
  • java-1.8.0-openjdk 和 java-1.7.0-openjdk
  • iDRAC 7 企业版

相关内容