The idea is:
Add “keyboard-interactive” authentication method to the ssh node.
Currently, attempting to connect to a system which has “keyboard-interactive” as the only ssh user/pass mechanism results in the following error: “All configured authentication methods failed”
"
My use case:
Many systems do not enable “password” authentication in their SSH server, but do enable “keyboard-interactive”.
My specific use-case is for networking infrastructure which uses centralized credentials (tacacs, RADIUS, LDAP, etc) with usernames and passwords (so SSH keys are not possible), but which do not accept the “password” authentication method in their SSH server.
Some systems for which this is the case:
All FreeBSD servers
pfSense
opnSense
Juniper Junos
Cisco IOS-XR - some versions
F5 BIG-IP
many others.
I think it would be beneficial to add this because:
It would allow n8n users to connect to security-hardened servers and network infrastructure which are becoming more and more common (password mechanism is less popular over time).
Any resources to support this?
Tracing this error through the n8n code and the underlying node-ssh dependency shows that “trykeyboard: true” needs to be added to the ssh.connect block after line 293 in file Ssh.node.ts.
Source: https://www.npmjs.com/package/node-ssh (Keyboard-interactive user authentication)