sapling/eden/scm/tests/test-fb-hgext-sshaskpass.py.out

1 line
55 B
Plaintext
Raw Normal View History

sshaskpass: enable ssh to ask password if running with chg Summary: During chg pull or push over ssh, ssh is started by chgserver which does not have a controlling tty. Therefore the ssh process won't be able to ask for passwords interactively. This is actually a hard issue because an unprivileged process without a ctty cannot attach to a ctty of another process. The discussion at upstream tends to make it clear it's part of limitations of chg. Therefore if we decide to workaround it, it has to live outside core, thus fb-hgext. GUI ssh-askpass is actually a good and clean choice. See D3510178 and D3515604. However, they are for OS X but not Linux. This diff is a very hacky solution to make ssh-askpass works in terminal. It starts a "tty server" providing tty I/O fds and set `SSH_ASKPASS` to use a custom script talking to the "tty server". Test Plan: Run the new test. Start a sshd locally and try: ``` $ hg push ssh://root@localhost/tmp pushing to ssh://root@localhost/tmp root@localhost's password: remote: Permission denied (publickey,password). abort: no suitable response from remote hg! $ chg push ssh://root@localhost/tmp pushing to ssh://root@localhost/tmp ==== SSH Authenticating ==== root@localhost's password: remote: Permission denied (publickey,password). abort: no suitable response from remote hg! ``` Reviewers: #mercurial, ttung, mpm Reviewed By: mpm Subscribers: durham, mpm, mjpieters Differential Revision: https://phabricator.intern.facebook.com/D3577509 Tasks: 12029680 Signature: t1:3577509:1469467700:cd93565bd47e535bb4cb41fcdaa39e45dddfae28
2016-07-17 22:35:34 +03:00
pty receives: '(input)\r\nclient receives: (input)\r\n'