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 is‐
28 sues. 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 as‐
43 sumed. The user must a high enough privilege to establish a SOL
44 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 re‐
57 mote host for IPMI 2.0. If not specified, a null key is assumed.
58 To input the key in hexadecimal form, prefix the string with
59 '0x'. E.g., the key 'abc' can be entered with the either the
60 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. De‐
72 faults 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 al‐
85 ternate cipher suite id is selected. The following cipher suite
86 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 AD‐
127 MIN 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 in‐
172 tend 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 se‐
179 rial 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. For example, a NUL character received by getty(8) and
183 its descendants (such as agetty(8)) will cause a baud rate
184 change, which may lock up the terminal.
185
186 --serial-keepalive-empty
187 This option is identical to --serial-keepalive except that SOL
188 packets will contain no NUL character data. On some mother‐
189 boards, this may be sufficient to deal with a hanging IPMI ses‐
190 sion without the risk of regularly sending a NUL character byte
191 may have. However, some systems may not ACK a SOL packet without
192 character data in it, meaning these keepalive packets do noth‐
193 ing.
194
195 --sol-payload-instance=NUM
196 Specify the SOL payload instance number. The default value is 1,
197 valid values range from 1 to 15. Most systems only support a
198 single instance, however a few allow users to access multiple.
199
200 --deactivate-all-instances
201 When used along with the --deactivate option, will deactivate
202 all active SOL instances instead of just the currently config‐
203 ured payload instance.
204
205 --lock-memory
206 Lock sensitive information (such as usernames and passwords) in
207 memory.
208
209 --debugfile
210 Output debugging to files in current directory rather than to
211 standard output.
212
214 The following escape sequences are supported. The default supported es‐
215 cape character is '&', but can be changed with the -e option.
216
217 &? Display a list of currently available escape sequences.
218
219 &. Terminate the connection.
220
221 &B Send a "serial-break" to the remote console.
222
223 &D Send a DEL character.
224
225 && Send a single escape character.
226
228 Most often, IPMI problems are due to configuration problems.
229
230 IPMI over LAN problems involve a misconfiguration of the remote ma‐
231 chine's BMC. Double check to make sure the following are configured
232 properly in the remote machine's BMC: IP address, MAC address, subnet
233 mask, username, user enablement, user privilege, password, LAN privi‐
234 lege, LAN enablement, and allowed authentication type(s). For IPMI 2.0
235 connections, double check to make sure the cipher suite privilege(s)
236 and K_g key are configured properly. The ipmi-config(8) tool can be
237 used to check and/or change these configuration settings.
238
239 In addition to the troubleshooting tips below, please see WORKAROUNDS
240 below to also if there are any vendor specific bugs that have been dis‐
241 covered and worked around.
242
243 Listed below are many of the common issues for error messages. For ad‐
244 ditional support, please e-mail the <freeipmi-users@gnu.org> mailing
245 list.
246
247 "username invalid" - The username entered (or a NULL username if none
248 was entered) is not available on the remote machine. It may also be
249 possible the remote BMC's username configuration is incorrect.
250
251 "password invalid" - The password entered (or a NULL password if none
252 was entered) is not correct. It may also be possible the password for
253 the user is not correctly configured on the remote BMC.
254
255 "password verification timeout" - Password verification has timed out.
256 A "password invalid" error (described above) or a generic "session
257 timeout" (described below) occurred. During this point in the protocol
258 it cannot be differentiated which occurred.
259
260 "k_g invalid" - The K_g key entered (or a NULL K_g key if none was en‐
261 tered) is not correct. It may also be possible the K_g key is not cor‐
262 rectly configured on the remote BMC.
263
264 "privilege level insufficient" - An IPMI command requires a higher user
265 privilege than the one authenticated with. Please try to authenticate
266 with a higher privilege. This may require authenticating to a different
267 user which has a higher maximum privilege.
268
269 "privilege level cannot be obtained for this user" - The privilege
270 level you are attempting to authenticate with is higher than the maxi‐
271 mum allowed for this user. Please try again with a lower privilege. It
272 may also be possible the maximum privilege level allowed for a user is
273 not configured properly on the remote BMC.
274
275 "authentication type unavailable for attempted privilege level" - The
276 authentication type you wish to authenticate with is not available for
277 this privilege level. Please try again with an alternate authentication
278 type or alternate privilege level. It may also be possible the avail‐
279 able authentication types you can authenticate with are not correctly
280 configured on the remote BMC.
281
282 "cipher suite id unavailable" - The cipher suite id you wish to authen‐
283 ticate with is not available on the remote BMC. Please try again with
284 an alternate cipher suite id. It may also be possible the available ci‐
285 pher suite ids are not correctly configured on the remote BMC.
286
287 "ipmi 2.0 unavailable" - IPMI 2.0 was not discovered on the remote ma‐
288 chine. Please try to use IPMI 1.5 instead.
289
290 "connection timeout" - Initial IPMI communication failed. A number of
291 potential errors are possible, including an invalid hostname specified,
292 an IPMI IP address cannot be resolved, IPMI is not enabled on the re‐
293 mote server, the network connection is bad, etc. Please verify configu‐
294 ration and connectivity.
295
296 "session timeout" - The IPMI session has timed out. Please reconnect.
297 If this error occurs often, you may wish to increase the retransmission
298 timeout. Some remote BMCs are considerably slower than others.
299
300 "internal IPMI error" - An IPMI error has occurred that FreeIPMI does
301 not know how to handle. Please e-mail <freeipmi-users@gnu.org> to re‐
302 port the issue.
303
305 The following are common issues for error messages in ipmiconsole.
306
307 "SOL unavailable" - SOL is not configured for use on the remote BMC.
308 It may be not configured in general or for the specific user specified.
309 Authenticating with a different user may be sufficient, however the
310 IPMI protocol does not reveal detail on what is not configured on the
311 remote BMC.
312
313 "SOL in use" - SOL is already in use on the remote BMC. If you do not
314 specify the --dont-steal option, ipmiconsole will attempt to steal the
315 SOL session away from the other session. Not all BMCs support the abil‐
316 ity to steal away a SOL session.
317
318 "SOL session stolen" - Your SOL session has been stolen by another ses‐
319 sion. You may wish to try and steal the session back by reconnecting.
320
321 "SOL requires encryption" - SOL requires a cipher suite id that in‐
322 cludes encryption. Please try to use cipher suite id 3, 8, or 12. It
323 may also be possible the encryption requirements are not configured
324 correctly on the remote BMC.
325
326 "SOL requires no encryption" - SOL requires a cipher suite id that does
327 not use encryption. Please try to use cipher suite id 0, 1, 2, 6, 7, or
328 11. It may also be possible the encryption requirements are not config‐
329 ured correctly on the remote BMC.
330
331 "BMC Implementation" - The BMC on the remote machine has a severe prob‐
332 lem in its implementation. Please see the WORKAROUNDS section below for
333 possible workarounds. If additional vendor workarounds are required,
334 please contact the authors.
335
336 "excess retransmissions sent" - An excessive number of retransmissions
337 of SOL packets has occurred and ipmiconsole has given up. This may be
338 due to network issues or SOL issues. Some of the same issues involved
339 with "connection timeout" or "session timeout" errors may be involved.
340 Please try to reconnect.
341
342 "excess errors received" - An excessive number of SOL packet errors has
343 occurred and ipmiconsole has given up. This may be due to network is‐
344 sues or SOL issues. Please try to reconnect.
345
346 "BMC Error" - This error usually means a vendor SOL implementation re‐
347 quires a combination of authentication, encryption, privilege, etc.
348 that have not been met by the user's choices. Please try a combination
349 of different cipher suites, privileges, etc. to resolve the problem.
350 Please see the WORKAROUNDS section below for possible workarounds too.
351
353 With so many different vendors implementing their own IPMI solutions,
354 different vendors may implement their IPMI protocols incorrectly. The
355 following describes a number of workarounds currently available to han‐
356 dle discovered compliance issues. When possible, workarounds have been
357 implemented so they will be transparent to the user. However, some will
358 require the user to specify a workaround be used via the -W option.
359
360 The hardware listed below may only indicate the hardware that a problem
361 was discovered on. Newer versions of hardware may fix the problems in‐
362 dicated below. Similar machines from vendors may or may not exhibit the
363 same problems. Different vendors may license their firmware from the
364 same IPMI firmware developer, so it may be worthwhile to try work‐
365 arounds listed below even if your motherboard is not listed.
366
367 If you believe your hardware has an additional compliance issue that
368 needs a workaround to be implemented, please contact the FreeIPMI main‐
369 tainers on <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
370
371 authcap - This workaround flag will skip early checks for username ca‐
372 pabilities, authentication capabilities, and K_g support and allow IPMI
373 authentication to succeed. It works around multiple issues in which the
374 remote system does not properly report username capabilities, authenti‐
375 cation capabilities, or K_g status. Those hitting this issue may see
376 "username invalid", "authentication type unavailable for attempted
377 privilege level", or "k_g invalid" errors. Issue observed on Asus
378 P5M2/P5MT-R/RS162-E4/RX4, Intel SR1520ML/X38ML, and Sun Fire
379 2200/4150/4450 with ELOM.
380
381 nochecksumcheck - This workaround flag will tell FreeIPMI to not check
382 the checksums returned from IPMI command responses. It works around
383 systems that return invalid checksums due to implementation errors, but
384 the packet is otherwise valid. Users are cautioned on the use of this
385 option, as it removes validation of packet integrity in a number of
386 circumstances. However, it is unlikely to be an issue in most situa‐
387 tions. Those hitting this issue may see "connection timeout", "session
388 timeout", or "password verification timeout" errors. On IPMI 1.5 con‐
389 nections, the "noauthcodecheck" workaround may also needed too. Issue
390 observed on Supermicro X9SCM-iiF, Supermicro X9DRi-F, and Supermicro
391 X9DRFR.
392
393 intel20 - This workaround flag will work around several Intel IPMI 2.0
394 authentication issues. The issues covered include padding of usernames,
395 and password truncation if the authentication algorithm is HMAC-
396 MD5-128. Those hitting this issue may see "username invalid", "password
397 invalid", or "k_g invalid" errors. Issue observed on Intel SE7520AF2
398 with Intel Server Management Module (Professional Edition).
399
400 supermicro20 - This workaround flag will work around several Supermicro
401 IPMI 2.0 authentication issues on motherboards w/ Peppercon IPMI
402 firmware. The issues covered include handling invalid length authenti‐
403 cation codes. Those hitting this issue may see "password invalid" er‐
404 rors. Issue observed on Supermicro H8QME with SIMSO daughter card.
405 Confirmed fixed on newerver firmware.
406
407 sun20 - This workaround flag will work work around several Sun IPMI 2.0
408 authentication issues. The issues covered include invalid lengthed hash
409 keys, improperly hashed keys, and invalid cipher suite records. Those
410 hitting this issue may see "password invalid" or "bmc error" errors.
411 Issue observed on Sun Fire 4100/4200/4500 with ILOM. This workaround
412 automatically includes the "opensesspriv" workaround.
413
414 opensesspriv - This workaround flag will slightly alter FreeIPMI's IPMI
415 2.0 connection protocol to workaround an invalid hashing algorithm used
416 by the remote system. The privilege level sent during the Open Session
417 stage of an IPMI 2.0 connection is used for hashing keys instead of the
418 privilege level sent during the RAKP1 connection stage. Those hitting
419 this issue may see "password invalid", "k_g invalid", or "bad rmcpplus
420 status code" errors. Issue observed on Sun Fire 4100/4200/4500 with
421 ILOM, Inventec 5441/Dell Xanadu II, Supermicro X8DTH, Supermicro X8DTG,
422 Intel S5500WBV/Penguin Relion 700, Intel S2600JF/Appro 512X, Quanta
423 QSSC-S4R/Appro GB812X-CN, and Dell C5220. This workaround is automati‐
424 cally triggered with the "sun20" workaround.
425
426 integritycheckvalue - This workaround flag will work around an invalid
427 integrity check value during an IPMI 2.0 session establishment when us‐
428 ing Cipher Suite ID 0. The integrity check value should be 0 length,
429 however the remote motherboard responds with a non-empty field. Those
430 hitting this issue may see "k_g invalid" errors. Issue observed on Su‐
431 permicro X8DTG, Supermicro X8DTU, and Intel S5500WBV/Penguin Relion
432 700, and Intel S2600JF/Appro 512X.
433
434 solpayloadsize - This workaround flag will not check for valid SOL pay‐
435 load sizes and assume a proper set. It works around remote systems that
436 report invalid IPMI 2.0 SOL payload sizes. Those hitting this issue may
437 see "BMC Implementation" errors. Issue observed on Asus
438 P5M2/RS162-E4/RX4, Intel SR1520ML/X38ML, Inventec 5441/Dell Xanadu II,
439 Sun x4100, Supermicro X8DTH, Supermicro X8DTG, Supermicro X8DTU, and
440 Quanta QSSC-S4R//Appro GB812X-CN.
441
442 solport - This workaround flag will ignore alternate SOL ports speci‐
443 fied during the protocol. It works around remote systems that report
444 invalid alternate SOL ports. Those hitting this issue may see "connec‐
445 tion timeout" errors. Issue observed on Asus P5MT-R and Supermicro
446 X8DTH-iF.
447
448 solstatus - This workaround flag will not check the current activation
449 status of SOL during the protocol setup. It works around remote systems
450 that do not properly support this command. Those hitting this issue may
451 see "BMC Error" errors. Issue observed on Supermicro X8SIL-F.
452
453 solchannelsupport - This workaround flag will not check if SOL is sup‐
454 ported on the current channel. It works around remote systems that do
455 not properly support this command. Those hitting this issue may see
456 "BMC Error" errors. Issue observed on Intel Windmill, Quanta Winter‐
457 fell, and Wiwynn Windmill
458
459 serialalertsdeferred - This workaround option will set serial alerts to
460 be deferred instead of have them be failures. This works around mother‐
461 boards that perform IPMI over serial along with IPMI serial over LAN.
462 Those hitting this issue may see "excess retransmissions sent" when
463 they attempt to input data via SOL. Issue observed on Intel Windmill,
464 Quanta Winterfell, and Wiwynn Windmill.
465
466 solpacketseq - This workaround option will increment the SOL payload
467 packet sequence number under dire circumstances. Normally SOL should
468 never do this, however some motherboards have shown to get "stuck" due
469 to an internal bug on the motherboard. This workaround can help in get‐
470 ting the BMC un-stuck. Those hitting this issue may see "excess re‐
471 transmissions sent" when they attempt to input data via SOL. Issue ob‐
472 served on Intel Windmill, Quanta Winterfell, and Wiwynn Windmill.
473
475 On older operating systems, if you input your username, password, and
476 other potentially security relevant information on the command line,
477 this information may be discovered by other users when using tools like
478 the ps(1) command or looking in the /proc file system. It is generally
479 more secure to input password information with options like the -P or
480 -K options. Configuring security relevant information in the FreeIPMI
481 configuration file would also be an appropriate way to hide this infor‐
482 mation.
483
484 In order to prevent brute force attacks, some BMCs will temporarily
485 "lock up" after a number of remote authentication errors. You may need
486 to wait awhile in order to this temporary "lock up" to pass before you
487 may authenticate again.
488
489 Some motherboards define an OEM SOL inactivity timeout for SOL ses‐
490 sions. If SOL sessions stay inactive for long periods of time, ipmicon‐
491 sole sessions may be abruptly closed, most likely resulting in session
492 timeout errors. Please see OEM notes for information on modifying this
493 parameter if you wish for sessions to stay active longer.
494
496 Intel SR1520ML/X38ML: After a reboot, the SOL session appears to "dis‐
497 connect" from the motherboard but stay alive. Character data input
498 from the ipmiconsole client is accepted by the remote machine, but no
499 character data or console data is ever sent back from the remote ma‐
500 chine. The SOL session is subsequently useless. There is currently no
501 workaround in place to handle this. The session must be closed and
502 restarted.
503
505 # ipmiconsole -h ahost -u myusername -p mypassword
506
507 Establish a console session with a remote host.
508
510 Report bugs to <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
511
513 Copyright (C) 2007-2015 Lawrence Livermore National Security, LLC.
514 Copyright (C) 2006-2007 The Regents of the University of California.
515
516 This program is free software; you can redistribute it and/or modify it
517 under the terms of the GNU General Public License as published by the
518 Free Software Foundation; either version 3 of the License, or (at your
519 option) any later version.
520
522 freeipmi.conf(5), freeipmi(7), ipmi-config(8)
523
524 http://www.gnu.org/software/freeipmi/
525
526
527
528ipmiconsole 1.6.10 2022-08-31 ipmiconsole(8)