1ipmiconsole(8) System Commands ipmiconsole(8)
2
3
4
6 ipmiconsole - IPMI console utility
7
9 ipmiconsole [OPTION...]
10
12 ipmiconsole is a Serial-over-LAN (SOL) console utility. It can be used
13 to establish console sessions to remote machines using the IPMI 2.0 SOL
14 protocol. Ipmiconsole communicates with a remote machine's Baseboard
15 Management Controller (BMC) to establish a console session. Before any
16 SOL communication can take place, the remote machine's BMC must be con‐
17 figured properly. The FreeIPMI tool ipmi-config(8) may be used to do
18 this configuration.
19
20 Often (although not always), console redirection must be also be con‐
21 figured properly in the BIOS and/or operating system. Both must be con‐
22 figured to redirect console traffic out the appropriate COM port.
23 Please see your motherboard and OS documentation for instructions on
24 proper setup.
25
26 Listed below are general IPMI options, tool specific options, trouble
27 shooting information, workaround information, examples, and known
28 issues. For a general introduction to FreeIPMI please see freeipmi(7).
29
31 The following options are general options for configuring IPMI communi‐
32 cation and executing general tool commands.
33
34 -h IPMIHOST, --hostname=IPMIHOST[:PORT]
35 Specify the remote host to communicate with. An optional port
36 can be specified, which may be useful in port forwarding or sim‐
37 ilar situations. If specifying an IPv6 address and port, use the
38 format [ADDRESS]:PORT.
39
40 -u, --username=USERNAME
41 Specify the username to use when authenticating with the remote
42 host. If not specified, a null (i.e. anonymous) username is
43 assumed. The user must a high enough privilege to establish a
44 SOL session and have SOL session abilities.
45
46 -p PASSWORD, --password=PASSWORD
47 Specify the password to use when authenticationg with the remote
48 host. If not specified, a null password is assumed. Maximum
49 password length is 16 for IPMI 1.5 and 20 for IPMI 2.0.
50
51 -P, --password-prompt
52 Prompt for password to avoid possibility of listing it in
53 process lists.
54
55 -k K_G, --k-g=K_G
56 Specify the K_g BMC key to use when authenticating with the
57 remote host for IPMI 2.0. If not specified, a null key is
58 assumed. To input the key in hexadecimal form, prefix the string
59 with '0x'. E.g., the key 'abc' can be entered with the either
60 the string 'abc' or the string '0x616263'
61
62 -K, --k-g-prompt
63 Prompt for k-g to avoid possibility of listing it in process
64 lists.
65
66 --session-timeout=MILLISECONDS
67 Specify the session timeout in milliseconds. Defaults to 60000
68 milliseconds (60 seconds) if not specified.
69
70 --retransmission-timeout=MILLISECONDS
71 Specify the packet retransmission timeout in milliseconds.
72 Defaults to 500 milliseconds (0.5 seconds) if not specified.
73
74 -I, --cipher-suite-id=CIPHER-SUITE-ID
75 Specify the IPMI 2.0 cipher suite ID to use. The Cipher Suite ID
76 identifies a set of authentication, integrity, and confidential‐
77 ity algorithms to use for IPMI 2.0 communication. The authenti‐
78 cation algorithm identifies the algorithm to use for session
79 setup, the integrity algorithm identifies the algorithm to use
80 for session packet signatures, and the confidentiality algorithm
81 identifies the algorithm to use for payload encryption. Defaults
82 to cipher suite ID 3 if not specified. The user should be aware
83 that only cipher suite ids 3, 8, and 12 encrypt console pay‐
84 loads. Console information will be sent in the clear if an
85 alternate cipher suite id is selected. The following cipher
86 suite ids are currently supported:
87
88 0 - Authentication Algorithm = None; Integrity Algorithm = None;
89 Confidentiality Algorithm = None
90
91 1 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm =
92 None; Confidentiality Algorithm = None
93
94 2 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm =
95 HMAC-SHA1-96; Confidentiality Algorithm = None
96
97 3 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm =
98 HMAC-SHA1-96; Confidentiality Algorithm = AES-CBC-128
99
100 6 - Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
101 None; Confidentiality Algorithm = None
102
103 7 - Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
104 HMAC-MD5-128; Confidentiality Algorithm = None
105
106 8 - Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
107 HMAC-MD5-128; Confidentiality Algorithm = AES-CBC-128
108
109 11 - Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
110 MD5-128; Confidentiality Algorithm = None
111
112 12 - Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
113 MD5-128; Confidentiality Algorithm = AES-CBC-128
114
115 15 - Authentication Algorithm = HMAC-SHA256; Integrity Algorithm
116 = None; Confidentiality Algorithm = None
117
118 16 - Authentication Algorithm = HMAC-SHA256; Integrity Algorithm
119 = HMAC_SHA256_128; Confidentiality Algorithm = None
120
121 17 - Authentication Algorithm = HMAC-SHA256; Integrity Algorithm
122 = HMAC_SHA256_128; Confidentiality Algorithm = AES-CBC-128
123
124 -l PRIVILEGE-LEVEL, --privilege-level=PRIVILEGE-LEVEL
125 Specify the privilege level to be used. The currently available
126 privilege levels are USER, OPERATOR, and ADMIN. Defaults to
127 ADMIN if not specified.
128
129 --config-file=FILE
130 Specify an alternate configuration file.
131
132 -W WORKAROUNDS, --workaround-flags=WORKAROUNDS
133 Specify workarounds to vendor compliance issues. Multiple work‐
134 arounds can be specified separated by commas. A special command
135 line flag of "none", will indicate no workarounds (may be useful
136 for overriding configured defaults). See WORKAROUNDS below for a
137 list of available workarounds.
138
139 --debug
140 Turn on debugging.
141
142 -?, --help
143 Output a help list and exit.
144
145 --usage
146 Output a usage message and exit.
147
148 -V, --version
149 Output the program version and exit.
150
152 The following options are specific to ipmiconsole.
153
154 -e CHAR, --escape-char=CHAR
155 Specify an alternate escape character (default char '&').
156
157 --dont-steal
158 Do not steal an SOL session if one is already detected as being
159 in use. Under most circumstances, if SOL is detected as being in
160 use, ipmiconsole will attempt to steal the SOL session away from
161 the previous session. This default behavior exists for several
162 reasons, most notably that earlier SOL sessions may have not
163 been able to be deactivate properly.
164
165 --deactivate
166 Deactivate SOL session if one is detected as being in use and
167 exit.
168
169 --serial-keepalive
170 Occasionally send NUL characters to detect inactive serial con‐
171 nections. This option is particularly useful for those who
172 intend to run ipmiconsole without much interaction, such as for
173 logging purposes. While IPMI connections may still be alive,
174 some motherboards have exhibited bugs in which underlying serial
175 data can no longer be sent/received. From the viewpoint of ipmi‐
176 console, data is simply not be sent out of the remote system and
177 this problem is only detected once there is user interaction. By
178 sending the occasional NUL character, the underlying loss of
179 serial data transfer can be detected far more quickly. There is
180 some risk with this option, as the NUL character byte may affect
181 the remote system depending on what data it may or may not be
182 expecting.
183
184 --serial-keepalive-empty
185 This option is identical to --serial-keepalive except that SOL
186 packets will contain no NUL character data. On some mother‐
187 boards, this may be sufficient to deal with a hanging IPMI ses‐
188 sion without the risk of regularly sending a NUL character byte
189 may have. However, some systems may not ACK a SOL packet without
190 character data in it, meaning these keepalive packets do noth‐
191 ing.
192
193 --sol-payload-instance=NUM
194 Specify the SOL payload instance number. The default value is 1,
195 valid values range from 1 to 15. Most systems only support a
196 single instance, however a few allow users to access multiple.
197
198 --deactivate-all-instances
199 When used along with the --deactivate option, will deactivate
200 all active SOL instances instead of just the currently config‐
201 ured payload instance.
202
203 --lock-memory
204 Lock sensitive information (such as usernames and passwords) in
205 memory.
206
207 --debugfile
208 Output debugging to files in current directory rather than to
209 standard output.
210
212 The following escape sequences are supported. The default supported
213 escape character is '&', but can be changed with the -e option.
214
215 &? Display a list of currently available escape sequences.
216
217 &. Terminate the connection.
218
219 &B Send a "serial-break" to the remote console.
220
221 &D Send a DEL character.
222
223 && Send a single escape character.
224
226 Most often, IPMI problems are due to configuration problems.
227
228 IPMI over LAN problems involve a misconfiguration of the remote
229 machine's BMC. Double check to make sure the following are configured
230 properly in the remote machine's BMC: IP address, MAC address, subnet
231 mask, username, user enablement, user privilege, password, LAN privi‐
232 lege, LAN enablement, and allowed authentication type(s). For IPMI 2.0
233 connections, double check to make sure the cipher suite privilege(s)
234 and K_g key are configured properly. The ipmi-config(8) tool can be
235 used to check and/or change these configuration settings.
236
237 In addition to the troubleshooting tips below, please see WORKAROUNDS
238 below to also if there are any vendor specific bugs that have been dis‐
239 covered and worked around.
240
241 Listed below are many of the common issues for error messages. For
242 additional support, please e-mail the <freeipmi-users@gnu.org> mailing
243 list.
244
245 "username invalid" - The username entered (or a NULL username if none
246 was entered) is not available on the remote machine. It may also be
247 possible the remote BMC's username configuration is incorrect.
248
249 "password invalid" - The password entered (or a NULL password if none
250 was entered) is not correct. It may also be possible the password for
251 the user is not correctly configured on the remote BMC.
252
253 "password verification timeout" - Password verification has timed out.
254 A "password invalid" error (described above) or a generic "session
255 timeout" (described below) occurred. During this point in the protocol
256 it cannot be differentiated which occurred.
257
258 "k_g invalid" - The K_g key entered (or a NULL K_g key if none was
259 entered) is not correct. It may also be possible the K_g key is not
260 correctly configured on the remote BMC.
261
262 "privilege level insufficient" - An IPMI command requires a higher user
263 privilege than the one authenticated with. Please try to authenticate
264 with a higher privilege. This may require authenticating to a different
265 user which has a higher maximum privilege.
266
267 "privilege level cannot be obtained for this user" - The privilege
268 level you are attempting to authenticate with is higher than the maxi‐
269 mum allowed for this user. Please try again with a lower privilege. It
270 may also be possible the maximum privilege level allowed for a user is
271 not configured properly on the remote BMC.
272
273 "authentication type unavailable for attempted privilege level" - The
274 authentication type you wish to authenticate with is not available for
275 this privilege level. Please try again with an alternate authentication
276 type or alternate privilege level. It may also be possible the avail‐
277 able authentication types you can authenticate with are not correctly
278 configured on the remote BMC.
279
280 "cipher suite id unavailable" - The cipher suite id you wish to authen‐
281 ticate with is not available on the remote BMC. Please try again with
282 an alternate cipher suite id. It may also be possible the available
283 cipher suite ids are not correctly configured on the remote BMC.
284
285 "ipmi 2.0 unavailable" - IPMI 2.0 was not discovered on the remote
286 machine. Please try to use IPMI 1.5 instead.
287
288 "connection timeout" - Initial IPMI communication failed. A number of
289 potential errors are possible, including an invalid hostname specified,
290 an IPMI IP address cannot be resolved, IPMI is not enabled on the
291 remote server, the network connection is bad, etc. Please verify con‐
292 figuration and connectivity.
293
294 "session timeout" - The IPMI session has timed out. Please reconnect.
295 If this error occurs often, you may wish to increase the retransmission
296 timeout. Some remote BMCs are considerably slower than others.
297
298 "internal IPMI error" - An IPMI error has occurred that FreeIPMI does
299 not know how to handle. Please e-mail <freeipmi-users@gnu.org> to
300 report the issue.
301
303 The following are common issues for error messages in ipmiconsole.
304
305 "SOL unavailable" - SOL is not configured for use on the remote BMC.
306 It may be not configured in general or for the specific user specified.
307 Authenticating with a different user may be sufficient, however the
308 IPMI protocol does not reveal detail on what is not configured on the
309 remote BMC.
310
311 "SOL in use" - SOL is already in use on the remote BMC. If you do not
312 specify the --dont-steal option, ipmiconsole will attempt to steal the
313 SOL session away from the other session. Not all BMCs support the abil‐
314 ity to steal away a SOL session.
315
316 "SOL session stolen" - Your SOL session has been stolen by another ses‐
317 sion. You may wish to try and steal the session back by reconnecting.
318
319 "SOL requires encryption" - SOL requires a cipher suite id that
320 includes encryption. Please try to use cipher suite id 3, 8, or 12. It
321 may also be possible the encryption requirements are not configured
322 correctly on the remote BMC.
323
324 "SOL requires no encryption" - SOL requires a cipher suite id that does
325 not use encryption. Please try to use cipher suite id 0, 1, 2, 6, 7, or
326 11. It may also be possible the encryption requirements are not config‐
327 ured correctly on the remote BMC.
328
329 "BMC Implementation" - The BMC on the remote machine has a severe prob‐
330 lem in its implementation. Please see the WORKAROUNDS section below for
331 possible workarounds. If additional vendor workarounds are required,
332 please contact the authors.
333
334 "excess retransmissions sent" - An excessive number of retransmissions
335 of SOL packets has occurred and ipmiconsole has given up. This may be
336 due to network issues or SOL issues. Some of the same issues involved
337 with "connection timeout" or "session timeout" errors may be involved.
338 Please try to reconnect.
339
340 "excess errors received" - An excessive number of SOL packet errors has
341 occurred and ipmiconsole has given up. This may be due to network
342 issues or SOL issues. Please try to reconnect.
343
344 "BMC Error" - This error usually means a vendor SOL implementation
345 requires a combination of authentication, encryption, privilege, etc.
346 that have not been met by the user's choices. Please try a combination
347 of different cipher suites, privileges, etc. to resolve the problem.
348 Please see the WORKAROUNDS section below for possible workarounds too.
349
351 With so many different vendors implementing their own IPMI solutions,
352 different vendors may implement their IPMI protocols incorrectly. The
353 following describes a number of workarounds currently available to han‐
354 dle discovered compliance issues. When possible, workarounds have been
355 implemented so they will be transparent to the user. However, some will
356 require the user to specify a workaround be used via the -W option.
357
358 The hardware listed below may only indicate the hardware that a problem
359 was discovered on. Newer versions of hardware may fix the problems
360 indicated below. Similar machines from vendors may or may not exhibit
361 the same problems. Different vendors may license their firmware from
362 the same IPMI firmware developer, so it may be worthwhile to try work‐
363 arounds listed below even if your motherboard is not listed.
364
365 If you believe your hardware has an additional compliance issue that
366 needs a workaround to be implemented, please contact the FreeIPMI main‐
367 tainers on <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
368
369 authcap - This workaround flag will skip early checks for username
370 capabilities, authentication capabilities, and K_g support and allow
371 IPMI authentication to succeed. It works around multiple issues in
372 which the remote system does not properly report username capabilities,
373 authentication capabilities, or K_g status. Those hitting this issue
374 may see "username invalid", "authentication type unavailable for
375 attempted privilege level", or "k_g invalid" errors. Issue observed on
376 Asus P5M2/P5MT-R/RS162-E4/RX4, Intel SR1520ML/X38ML, and Sun Fire
377 2200/4150/4450 with ELOM.
378
379 nochecksumcheck - This workaround flag will tell FreeIPMI to not check
380 the checksums returned from IPMI command responses. It works around
381 systems that return invalid checksums due to implementation errors, but
382 the packet is otherwise valid. Users are cautioned on the use of this
383 option, as it removes validation of packet integrity in a number of
384 circumstances. However, it is unlikely to be an issue in most situa‐
385 tions. Those hitting this issue may see "connection timeout", "session
386 timeout", or "password verification timeout" errors. On IPMI 1.5 con‐
387 nections, the "noauthcodecheck" workaround may also needed too. Issue
388 observed on Supermicro X9SCM-iiF, Supermicro X9DRi-F, and Supermicro
389 X9DRFR.
390
391 intel20 - This workaround flag will work around several Intel IPMI 2.0
392 authentication issues. The issues covered include padding of usernames,
393 and password truncation if the authentication algorithm is HMAC-
394 MD5-128. Those hitting this issue may see "username invalid", "password
395 invalid", or "k_g invalid" errors. Issue observed on Intel SE7520AF2
396 with Intel Server Management Module (Professional Edition).
397
398 supermicro20 - This workaround flag will work around several Supermicro
399 IPMI 2.0 authentication issues on motherboards w/ Peppercon IPMI
400 firmware. The issues covered include handling invalid length authenti‐
401 cation codes. Those hitting this issue may see "password invalid"
402 errors. Issue observed on Supermicro H8QME with SIMSO daughter card.
403 Confirmed fixed on newerver firmware.
404
405 sun20 - This workaround flag will work work around several Sun IPMI 2.0
406 authentication issues. The issues covered include invalid lengthed hash
407 keys, improperly hashed keys, and invalid cipher suite records. Those
408 hitting this issue may see "password invalid" or "bmc error" errors.
409 Issue observed on Sun Fire 4100/4200/4500 with ILOM. This workaround
410 automatically includes the "opensesspriv" workaround.
411
412 opensesspriv - This workaround flag will slightly alter FreeIPMI's IPMI
413 2.0 connection protocol to workaround an invalid hashing algorithm used
414 by the remote system. The privilege level sent during the Open Session
415 stage of an IPMI 2.0 connection is used for hashing keys instead of the
416 privilege level sent during the RAKP1 connection stage. Those hitting
417 this issue may see "password invalid", "k_g invalid", or "bad rmcpplus
418 status code" errors. Issue observed on Sun Fire 4100/4200/4500 with
419 ILOM, Inventec 5441/Dell Xanadu II, Supermicro X8DTH, Supermicro X8DTG,
420 Intel S5500WBV/Penguin Relion 700, Intel S2600JF/Appro 512X, Quanta
421 QSSC-S4R/Appro GB812X-CN, and Dell C5220. This workaround is automati‐
422 cally triggered with the "sun20" workaround.
423
424 integritycheckvalue - This workaround flag will work around an invalid
425 integrity check value during an IPMI 2.0 session establishment when
426 using Cipher Suite ID 0. The integrity check value should be 0 length,
427 however the remote motherboard responds with a non-empty field. Those
428 hitting this issue may see "k_g invalid" errors. Issue observed on
429 Supermicro X8DTG, Supermicro X8DTU, and Intel S5500WBV/Penguin Relion
430 700, and Intel S2600JF/Appro 512X.
431
432 solpayloadsize - This workaround flag will not check for valid SOL pay‐
433 load sizes and assume a proper set. It works around remote systems that
434 report invalid IPMI 2.0 SOL payload sizes. Those hitting this issue may
435 see "BMC Implementation" errors. Issue observed on Asus
436 P5M2/RS162-E4/RX4, Intel SR1520ML/X38ML, Inventec 5441/Dell Xanadu II,
437 Sun x4100, Supermicro X8DTH, Supermicro X8DTG, Supermicro X8DTU, and
438 Quanta QSSC-S4R//Appro GB812X-CN.
439
440 solport - This workaround flag will ignore alternate SOL ports speci‐
441 fied during the protocol. It works around remote systems that report
442 invalid alternate SOL ports. Those hitting this issue may see "connec‐
443 tion timeout" errors. Issue observed on Asus P5MT-R and Supermicro
444 X8DTH-iF.
445
446 solstatus - This workaround flag will not check the current activation
447 status of SOL during the protocol setup. It works around remote systems
448 that do not properly support this command. Those hitting this issue may
449 see "BMC Error" errors. Issue observed on Supermicro X8SIL-F.
450
451 solchannelsupport - This workaround flag will not check if SOL is sup‐
452 ported on the current channel. It works around remote systems that do
453 not properly support this command. Those hitting this issue may see
454 "BMC Error" errors. Issue observed on Intel Windmill, Quanta Winter‐
455 fell, and Wiwynn Windmill
456
457 serialalertsdeferred - This workaround option will set serial alerts to
458 be deferred instead of have them be failures. This works around mother‐
459 boards that perform IPMI over serial along with IPMI serial over LAN.
460 Those hitting this issue may see "excess retransmissions sent" when
461 they attempt to input data via SOL. Issue observed on Intel Windmill,
462 Quanta Winterfell, and Wiwynn Windmill.
463
464 solpacketseq - This workaround option will increment the SOL payload
465 packet sequence number under dire circumstances. Normally SOL should
466 never do this, however some motherboards have shown to get "stuck" due
467 to an internal bug on the motherboard. This workaround can help in get‐
468 ting the BMC un-stuck. Those hitting this issue may see "excess
469 retransmissions sent" when they attempt to input data via SOL. Issue
470 observed on Intel Windmill, Quanta Winterfell, and Wiwynn Windmill.
471
473 On older operating systems, if you input your username, password, and
474 other potentially security relevant information on the command line,
475 this information may be discovered by other users when using tools like
476 the ps(1) command or looking in the /proc file system. It is generally
477 more secure to input password information with options like the -P or
478 -K options. Configuring security relevant information in the FreeIPMI
479 configuration file would also be an appropriate way to hide this infor‐
480 mation.
481
482 In order to prevent brute force attacks, some BMCs will temporarily
483 "lock up" after a number of remote authentication errors. You may need
484 to wait awhile in order to this temporary "lock up" to pass before you
485 may authenticate again.
486
487 Some motherboards define an OEM SOL inactivity timeout for SOL ses‐
488 sions. If SOL sessions stay inactive for long periods of time, ipmicon‐
489 sole sessions may be abruptly closed, most likely resulting in session
490 timeout errors. Please see OEM notes for information on modifying this
491 parameter if you wish for sessions to stay active longer.
492
494 Intel SR1520ML/X38ML: After a reboot, the SOL session appears to "dis‐
495 connect" from the motherboard but stay alive. Character data input
496 from the ipmiconsole client is accepted by the remote machine, but no
497 character data or console data is ever sent back from the remote
498 machine. The SOL session is subsequently useless. There is currently no
499 workaround in place to handle this. The session must be closed and
500 restarted.
501
503 # ipmiconsole -h ahost -u myusername -p mypassword
504
505 Establish a console session with a remote host.
506
508 Report bugs to <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
509
511 Copyright (C) 2007-2015 Lawrence Livermore National Security, LLC.
512 Copyright (C) 2006-2007 The Regents of the University of California.
513
514 This program is free software; you can redistribute it and/or modify it
515 under the terms of the GNU General Public License as published by the
516 Free Software Foundation; either version 3 of the License, or (at your
517 option) any later version.
518
520 freeipmi.conf(5), freeipmi(7), ipmi-config(8)
521
522 http://www.gnu.org/software/freeipmi/
523
524
525
526ipmiconsole 1.6.7 2021-02-12 ipmiconsole(8)