I think I see the bug: bzrlib.transport.ssh doesn't know how to use keyboard-interactive auth, just publickey and password auth. Paramiko will actually attempt to use "keyboard-interactive" if necessary when you call auth_password, but bzrlib is erroneously bailing out too soon.
A comment in the paramiko source says that some hosts, particularly Debian and Gentoo ones, disable password auth in their SSH server by default (the comment says this is due to a misguided belief that keyboard-interactive is more secure).
It's using paramiko.
I think I see the bug: bzrlib. transport. ssh doesn't know how to use keyboard- interactive auth, just publickey and password auth. Paramiko will actually attempt to use "keyboard- interactive" if necessary when you call auth_password, but bzrlib is erroneously bailing out too soon.
A comment in the paramiko source says that some hosts, particularly Debian and Gentoo ones, disable password auth in their SSH server by default (the comment says this is due to a misguided belief that keyboard- interactive is more secure).
I'll attach a fix.