Reproduction steps:
- Install phabricator and leave phabricator.base-uri empty
- enable ssh service according to diffusion_hosting
- ssh -T pha_host
Expected result:
- ssh login successfully
Actual result:
- Error: phabricator Permission denied (publickey,keyboard-interactive)
Version:
- phabricator eac49e421a4192218e491662c51ef5fa9c7a8e00 (Thu, Nov 24)
- arcanist fad85844314b151994769a461825c90f7400c145 (Oct 22 2016)
- phutil 19d250fe8a8ad55f38d29d597bf219a9c92bf152 (Thu, Nov 24)
Analysis:
- Without base-uri defined, line 12 in phabricator/scripts/ssh/ssh-auth.php will raise exception:
12 $keys = id(new PhabricatorAuthSSHKeyQuery()) 13 ->setViewer(PhabricatorUser::getOmnipotentUser()) 14 ->withIsActive(true) 15 ->execute();
O:9:"Exception":7:{s:10:"*message";s:64:"Define 'phabricator.base-uri' in your configuration to continue.";s:17:"Exceptionstring";s:0:"";s:7:"*code";i:0;s:7:"*file";s:67:"/var/www/html/phabricator/src/infrastructure/env/PhabricatorEnv.php";s:7:"*line";i:473;s:16:"Exceptiontrace"
Suggestion:
- Why ssh service depend on phabricator.base-uri?
- If this is not a bug, please add phabricator.base-uri configuration in diffusion_hosting as a necessary requirement