clogin(1)
π NAME π
okay so welcome to clogin(1) from the General Commands Manual β it's literally the Cisco login script, and yes bestie, this is the whole vibe. π
clogin β Cisco login script.
β¨ SYNOPSIS β¨
clogin [-autoenable] [-noenable] [-dhiSV] [-m|M] [-c command] [-E
var=x] [-e enable-password] [-f cloginrc-file] [-p user-password]
[-s script-file] [-t timeout] [-u username] [-v vty-password] [-w
enable-username] [-x command-file] [-y ssh_cypher_type] router
[router...]
π DESCRIPTION π
clogin is an expect(1) script that automates the process of logging into a Cisco router, Catalyst switch, Arista switch, Extreme switch, Juniper ERX/E-series, or Redback router. No cap, it's out here doing the login choreography for you. π©°
There are complementary scripts for A10, Alteon, Avocent (Cyclades), Bay Networks (nortel), Brocade, Cisco Small Business devices, ADC-kentrox EZ-T3 mux, Fortinet firewalls, Foundry, Cisco Firepower, HP Procurve switches and Cisco AGMs, Hitachi routers, Juniper Networks, MRV optical switch, Mikrotik routers, Netscreen firewalls, Nokia (Alcatel-Lucent), Netscaler, Riverbed Steelhead, Riverstone, Netopia, Cisco WLCs, Extreme devices and Xirrus arrays or Arrcus routers, named a10login, alogin, avologin, blogin, brlogin, csblogin, elogin, flogin, fnlogin, fxlogin, hlogin, htlogin, jlogin, mrvlogin, mtlogin, nlogin, noklogin, nslogin, rblogin, rivlogin, tlogin, wlogin, xlogin, and xilogin, respectively.
Lastly, plogin is a poly-login script using the router.db(5) files of rancid groups and the rancid.types.base(5) and rancid.types.conf(5) files to determine which login script to execute for the device type of the given device. it's giving switchboard energy, honestly. βοΈ
clogin reads the .cloginrc file for its configuration, then connects and logs into each of the routers specified on the command line in the order listed. Command-line options exist to override some of the directives found in the .cloginrc configuration file.
The command-line options are as follows:
π₯ OPTIONS π₯
-Sβ Save the configuration on exit, if the device prompts at logout time. This only has affect when used with-c.-Vβ Prints package name and version strings.-cβ Command to be run on each router list on the command-line. Multiple commands maybe listed by separating them with semi-colons (;). The argument should be quoted to avoid shell expansion.-dβ Enable expect debugging.-Eβ Specifies a variable to pass through to scripts (-s). For example, the command-line option-Efoo=barwill produce a global variable by the nameEfoowith the initial value"bar".-eβ Specify a password to be supplied when gaining enable privileges on the router(s). Also see thepassworddirective of the.cloginrcfile.-fβ Specifies an alternate configuration file. The default is$HOME/.cloginrc.-hβ Display usage line and exit.-iβ Enter interactive mode after processing-[cx]options.-[mM]β Display.cloginrcinformation for matching lines; either the first match (-m) or all matches (-M), then exit. The display format is:
look-up variable:filename:line number: glob
-pβ Specifies a password associated with the user specified by the-uoption,userdirective of the.cloginrcfile, or the Unix username of the user.-sβ The filename of anexpect(1)script which will be sourced after the login is successful and is expected to return control toclogin, with the connection to the router intact, when it is done. Note thatclogindisableslog_userofexpect(1)when-sis used. Example script(s) can be found inshare/rancid/*.exp.-tβ Alters the timeout interval; the period thatcloginwaits for an individual command to return a prompt or the login process to produce a prompt or failure. The argument is in seconds.-uβ Specifies the username used when prompted. The command-line option overrides anyuserdirective found in.cloginrc. The default is the current Unix username.-vβ Specifies a vty password, that which is prompted for upon connection to the router. This overrides the vty password of the.cloginrcfile'spassworddirective.-wβ Specifies the username used if prompted when gaining enable privileges. The command-line option overrides anyuserorenauserdirectives found in.cloginrc. The default is the current Unix username.-xβ Similar to the-coption;-xspecifies a file with commands to run on each of the routers. The commands must not expect additional input, such as'copy rcp startup-config'does. For example:
show version
show logging
-yβ Specifies the encryption algorithm for use with thessh(1)-coption. The default encryption type is often not supported. See thessh(1)man page for details. The default is3des.
π«Ά RETURNS π«Ά
If the login script fails for any of the devices on the command-line, the exit value of the script will be non-zero and the value will be the number of failures. so like, 3 failures means 3, bestie. no mystery. π
π ENVIRONMENT π
clogin recognizes the following environment variables.
CISCO_USERβ Overrides theuserdirective found in the.cloginrcfile, but may be overridden by the-uoption.CLOGINβcloginwill not change the banner on your xterm window if this includes the character'x'.CLOGINRCβ Specifies an alternative location for the.cloginrcfile, like the-foption.HOMEβ Normally set bylogin(1)to the user's home directory,HOMEis used bycloginto locate the.cloginrcconfiguration file.
π FILES π
$HOME/.cloginrcβ Configuration file.
π¦ SEE ALSO π¦
β οΈ CAVEATS β οΈ
cloginexpects CatOS devices to have a prompt which includes a'>', such as"router> (enable)". It uses this to determine, for example, whether the command to disable the pager is"set length 0"or"term length 0".- The HP Procurve switches that are Foundry OEMs use
flogin, nothlogin. - The
-Soption is a recent addition, it may not be supported in all of the login scripts or for every target device.
π BUGS π
- Do not use greater than (
>) or pound sign (#) in device banners or hostnames or prompts. These are the normal terminating characters of device prompts and the login scripts need to locate the initial prompt. Afterward, the full prompt is collected and makes a more precise match so that the scripts know when the device is ready for the next command. - All these login scripts for separate devices should be rolled into one. This goal is exceedingly difficult. π
- The HP Procurve switch, Motorola BSR, and Cisco AGM CLIs rely heavily upon terminal escape codes for cursor/screen manipulation and assumes a
vt100terminal type. They do not provide a way to set a different terminal type or adjust this behavior. The resulting escape codes make automating interaction with these devices very difficult or impossible. Thusbin/hpuifilter, which must be found in the user'sPATH, is used byhloginto filter these escape sequences. While this works for rancid's collection, there are side effects for interactive logins viahlogin; most of which are formatting annoyances that may be remedied by typingCTRL-Rto reprint the current line.
WARNING: repeated ssh login failures to HP Procurves cause the switch's management interface to lock-up (this includessnmp,ping) and sometimes it will crash. This is with the latest firmware;5.33at the time of this writing. π«
p.s. this page is clogin(1) from the General Commands Manual, dated 5 May 2020 β source/version and date, accounted for, mwah π
π¦ where this page comes from
- alpine 3.24: rancid-doc 3.14-r0 Β· BSD-3-Clause-No-Nuclear-License-2014
- epel 9: rancid 3.13-7.el9 Β· BSD with advertising
- fedora 43: rancid 3.13-16.fc43 Β· BSD-3-Clause
- fedora 43: rancid 3.14-1.fc43 Β· BSD-3-Clause
- fedora 44: rancid 3.13-17.fc44 Β· BSD-3-Clause
- fedora 44: rancid 3.14-1.fc44 Β· BSD-3-Clause
- nixos 26.05: rancid 3.13
- nixpkgs unstable: rancid 3.13
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms