Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 17:49
· 5 commits to main since this release

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, mw refuses to connect before it sends your password. After you replace or re-image a device, pass --accept-new-host-key <host>. mw keeps 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. 0 is every device captured, 1 is some, 2 is 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