Repository navigation
v0.2.0
Upgrading from 0.1.x
Three things behave differently. Read these before your next window.
- Host keys are checked. The first connect to a device records its SSH key. If the key later changes,
mwrefuses to connect before it sends your password. After you replace or re-image a device, pass--accept-new-host-key <host>.mwkeeps its own file and never touches~/.ssh/known_hosts. - Old SSH algorithms are off. A device that offers only SHA-1 or CBC, such as
3des-cbc, now needs--legacy-algorithms. - Exit codes mean something.
0is every device captured,1is some,2is none. A wrapper script that ignored the exit code can now stop on a bad capture.
What's fixed
| Before | Now |
|---|---|
| A device lost after the change was left out of the report | It's listed first, rated Action Required |
SUCCESS printed even when logins failed |
INCOMPLETE, a summary line, and a real exit code |
| A bad password was tried on every device | The run stops at the first rejected password |
| A timeout could shift later answers onto the wrong command | The rest of that device is marked skipped |
Some secret formats survived -r |
More formats covered, and private keys removed |
The report still matches the Python tool, prepost-check, byte for byte.
Tested on real Arista EOS and Palo Alto PAN-OS, from Windows and Linux. Cisco and Juniper have only met a test server, so try one device of each first.
Install
winget install fnitguy-tech.mw # Windows, once the manifest is merged
scoop bucket add fnitguy https://github.com/fnitguy-tech/netshell && scoop install mw
cargo install mw-check # builds locally; gives you the mw binary
Direct downloads are below. Verify one with its checksum, or prove it was built here:
sha256sum -c SHA256SUMS --ignore-missing
gh attestation verify mw-linux-x86_64 --owner fnitguy-tech
SHA-256
05da551462c46ab2be67d8b9b0bbee40973ee3107cfb86d39fb3481c965cfe8a mw-linux-x86_64
40f66158cb11bb3d8dc40aa2e2b175b2a48733cad191821cbdc48f2363f7b453 mw-macos-arm64
1f69a743dc89a031aaa5d5da07d47486cbeb4750e3d1b91ef66680de81fc90b3 mw-windows-x86_64.exe
694e806d71387d9d421697153aef170b9aead8b0232d07a039a2f46275472473 netshell-linux-x86_64
94c6a5b0ca419c7960074853eb7992fb6bc1af148fdddeb17c8a85117b3f04ae netshell-macos-arm64
9cc47b407a16e37ec15cb20e5e3384221403205ff28866698dc9021c3e80248c netshell-windows-x86_64.exe