古いHPサーバのiLOへのSSH接続トラブル(ProLiant DL360 G4)

スポンサーリンク

古いHPサーバのiLOへのssh接続

年代物のHPサーバ「ProLiant DL360 G4」がまだ動いていますが、HPのサーバにはiLOというコンセントさえ接続されていればOSが起動していなくても、リモートから起動したり色々できる機能が備わっています。

sshで接続しようとしたところ、以下のように即座に切断されてしまいました。

ssh 192.168.2.201

[root@sakue ~]# ssh 192.168.2.201
Received disconnect from 192.168.2.201 port 22:2: Client Disconnect

Disconnected from 192.168.2.201 port 22

デバッグメッセージも表示した場合

ssh -vv 192.168.2.201

[root@sakue ~]# ssh -vv 192.168.2.201
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug2: resolving "192.168.2.201" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 192.168.2.201 [192.168.2.201] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: Remote protocol version 2.0, remote software version mpSSH_0.0.1
debug1: no match: mpSSH_0.0.1
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to 192.168.2.201:22 as 'root'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,ext-info-c
debug2: host key algorithms: ssh-rsa-cert-v01@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,ssh-dss
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com,zlib
debug2: compression stoc: none,zlib@openssh.com,zlib
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: diffie-hellman-group1-sha1
debug2: host key algorithms: ssh-dss,ssh-rsa
debug2: ciphers ctos: 3des-cbc,aes128-cbc
debug2: ciphers stoc: 3des-cbc,aes128-cbc
debug2: MACs ctos: hmac-md5,hmac-sha1
debug2: MACs stoc: hmac-md5,hmac-sha1
debug2: compression ctos: none
debug2: compression stoc: none
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug1: kex: algorithm: diffie-hellman-group1-sha1
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: aes128-cbc MAC: hmac-sha1 compression: none
debug1: kex: client->server cipher: aes128-cbc MAC: hmac-sha1 compression: none
debug1: kex: diffie-hellman-group1-sha1 need=20 dh_need=20
debug1: kex: diffie-hellman-group1-sha1 need=20 dh_need=20
debug1: sending SSH2_MSG_KEXDH_INIT
debug2: bits set: 508/1024
debug1: expecting SSH2_MSG_KEXDH_REPLY
Received disconnect from 192.168.2.201 port 22:2: Client Disconnect

Disconnected from 192.168.2.201 port 22

接続先のsshdが新しい場合は問題ありませんが、古い場合はアルゴリズムを明示的に指定して接続する必要があります。

今回のDL360 G4のiLOでは以下のように指定してやると接続できました

ssh -o HostKeyAlgorithms=ssh-rsa,ssh-dss -o KexAlgorithms=diffie-hellman-group1-sha1 -o Ciphers=aes128-cbc,3des-cbc -o MACs=hmac-md5,hmac-sha1 <iLOユーザー名>@<iLOホスト名>

iLOのユーザー名が「sakue」でiLOのIPアドレスが「192.168.2.201」の場合は以下のような感じです。

ssh -o HostKeyAlgorithms=ssh-rsa,ssh-dss -o KexAlgorithms=diffie-hellman-group1-sha1 -o Ciphers=aes128-cbc,3des-cbc -o MACs=hmac-md5,hmac-sha1 sakue@192.168.2.201
iLOのコンソールでは改行コードが「CR」という点に注意してください

HPサーバの死活監視とiLO経由での自動再起動は以下に書きました。

HPサーバの死活監視とiLO経由での自動再起動(DL360)
ちょっと古いHPのサーバ「ProLiant DL360 G4」をまだ動かしていますが、忘れた頃にハングアップしている事があります。HPのサーバにはLinux向けのツールも配布されており、G4だとhpasmをインストールするとASR(...

iLOにログイン後に「show /system1」として表示した例です。

User:sakue logged-in to ILOTWT50302D6.(192.168.2.201)
iLO 1.94 at 12:11:27 Mar 19 2009
Server Name: host is unnamed
Server Power: On

</>hpiLO-> show /system1
status=0
status_tag=COMMAND COMPLETED

/system1
  Targets
    firmware
    bootconfig1
    log1
    led1
    console1
    oemhp_vsp1
    cpu1
    cpu2
    memory1
    memory2
    memory3
    memory4
    slot1
    slot2
    powerreg_data
Properties
    name=ProLiant DL360 G4
    number=354571TWT50302D6
    enabledstate=enabled
    oemhp_powerreg=auto
Verbs
    cd version exit show reset start stop

</>hpiLO->

「show」コマンドは階層を指定します。

上記の例から「firmware」を表示したい場合、「system1」の下の階層にありますので以下のように指定します。

show /system1/firmware

</>hpiLO-> show /system1/firmware 
status=0
status_tag=COMMAND COMPLETED

/system1/firmware
  Targets
  Properties
    version=P52
    date=02/14/2006
  Verbs
    cd version exit show

</>hpiLO->

ファームウェアのバージョンやdateが取れました。

helpを表示したところです。

</>hpiLO-> help
status=0
status_tag=COMMAND COMPLETED

DMTF SMASH CLP Commands:

help : Used to get context sensitive help.
show : Used to show values of a property or contents of a collection target.
create : Used to create new instances in the name space of the MAP.
delete : Used to destroy instances in the name space of the MAP.
load : Used to move a binary image from an URI to the MAP 
Example : load -source http://188.188.188.55/images/fw/iLO170.bin
reset : Used to cause a target to cycle from enabled to disabled and back to 
enabled.
set : Used to set a property or set of properties to a specific value.
start : Used to cause a target to change state to a higher run level.
stop : Used to cause a target to change state to a lower run level.
cd : Used to set the current default target.
exit : Used to terminate the CLP session.
version : Used to query the version of the CLP implementation or other CLP 
elements.

HP CLI Commands:

POWER : Control server power.
UID : Control Unit-ID light.
NMI : Generate an NMI.
VM : Virtual media commands.
REMCONS: Invoke remote console.
VSP : Invoke virtual serial port.

</>hpiLO->

普段使うiLOコマンド

かなり色々な操作ができますが、普段使うのは下のものくらいかなと思います。

ssh接続すらできないハングアップ状態でリモートリブートできるのは本当にありがたいです。

コマンドが正常に受け付けられると「COMMAND COMPLETED」のようにステータスも一緒に帰ってきます。

status=0
status_tag=COMMAND COMPLETED

ウォームリブート(サーバ再起動)

reset /system1 soft

電源状態確認

power

実行例

</>hpiLO-> power

power: server power is currently: On

</>hpiLO->

電源ON

power on

LED状態確認

show /system1/led1

実行例

</>hpiLO-> show /system1/led1
status=0
status_tag=COMMAND COMPLETED

/system1/led1
Targets
Properties
enabledstate=disabled
Verbs
cd version exit show start stop
</>hpiLO->

LED点灯

start /system1/led1

実行例

</>hpiLO-> start /system1/led1
status=0
status_tag=COMMAND COMPLETED
Unit Id On.
</>hpiLO->

LED消灯

stop /system1/led1

実行例

</>hpiLO-> stop /system1/led1
status=0
status_tag=COMMAND COMPLETED
Unit Id off.
</>hpiLO->

iLOを抜ける

exit

実行例

</>hpiLO-> exit 
status=0
status_tag=COMMAND COMPLETED

CLI session stopped
Connection to 192.168.2.201 closed by remote host.
Connection to 192.168.2.201 closed.

コメント

タイトルとURLをコピーしました