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