Revision history for Rex-LibSSH
0.004 2026-09-20 18:54:48Z
- SECURITY: the server host key is now verified against known_hosts by
default (CWE-322, reported privately via CPANSec). Previously
Rex::Interface::Connection::LibSSH hardcoded strict_hostkeycheck => 0
and ignored the strict_hostkeycheck/knownhosts connect options, so the
documented opt-in never did anything and any server -- including a
man-in-the-middle -- was accepted. An unknown or changed key now fails
the connection before authentication. Opt out per connection with
strict_hostkeycheck => 0, or Rexfile-wide with
-feature => ['disable_strict_host_key_checking'] (the same flag the
OpenSSH backend honours); knownhosts => $file and
Rex::Config->set_openssh_opt(UserKnownHostsFile => $file) select the
file. Hosts that were never added to known_hosts (fresh Hetzner
installs) must be ssh-keyscan'ed first or use the opt-out
- Requires Net::LibSSH 0.004, whose connect() performs the check
0.003 2026-09-01 00:07:32Z
- exec() now matches the 3-arg signature Rex::Commands::Run invokes
($cmd, $path, $option), so env hashes and shell options actually
reach the SSH channel.
- Reject paths containing NUL bytes in _q() and shell metacharacters
in glob() patterns; the latter closes an injection vector through
the remote shell expansion step that other paths avoid by being
quoted.
- Add t/04-no-sftp.t and t/lib/TestSSHDNoSFTP.pm to prove every
Fs/File operation works against an sshd without a Subsystem sftp
line — the environment this distribution was built for.
- Document that Fs::LibSSH never routes through Rex::Interface::Fs::Sudo
(known limitation, not a bug) and that upload/download/read-mode open
hold the whole file in memory on both ends.
0.002 2026-03-29 04:09:31Z
- Reset session timeout to 0 after connect to allow long-running commands
0.001 2026-03-29 02:55:49Z
- Initial release
- Rex::Interface::Connection::LibSSH — SSH connection via Net::LibSSH
- Rex::Interface::Exec::LibSSH — command execution via SSH exec channels
- Rex::Interface::Fs::LibSSH — filesystem operations without SFTP
- Rex::Interface::File::LibSSH — file read/write via exec channels
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
Go to GitHub issues (only if GitHub is preferred repository)