When using Python 3.x and connecting via paramiko.SSHClient().connect(host, port, user, pkey) to the server which forces two-factor authentication, function auth_interactive_dumb from transport.py is being invoked, where raw_input() is called. Of course it does not work in Python 3.x, therefore I'm changing it to input() and adding additional check for backwards compatibility with Python 2.x
paramiko.SSHClient().connect(host, port, user, pkey)
Change raw_input() to input() for Python 3.x
Coverage decreased (-0.03%) to 72.562% when pulling d15fbc4 on mkowalski:master into 74ba014 on paramiko:master.
Please note the CI build error is not related to the change
Actually! we can just use the py3compat module
Changelog re #716, closes #716
Weird, I guess github doesn't honor 'closes' if it's not 1st on a line? Anyway, cherry picked this back to 1.16. thanks! (ps - for future reference, most things like this have hooks in paramiko.py3compat :))