当我尝试在没有密码的情况下登录时,我无法登录到我们的生产服务器。服务器是solaris并使用安全shell ssh2。它不接受公钥或密码。现在我完全被锁定了。
我收到密码提示,但在输入密码后,它会出现以下错误。
ssh服务器 admin @ sever的密码: 通过部分成功验证。 权限被拒绝(公钥)。
这是一个严重的问题。请帮忙。
答案 0 :(得分:0)
听起来好像正在尝试使用多因素身份验证。我不知道如何使libssh2做到这一点,但可以使用phpseclib, a pure PHP SSH2 implementation轻松完成。一个例子如下:
<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'pass1', 'code1')) {
exit('Login failed');
}
// this does the same thing as the above
//if (!$ssh->login($username, 'pass1') && !$ssh->login('username', 'code1')) {
// exit('Login failed');
//}
echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
?>
src:http://phpseclib.sourceforge.net/ssh/auth.html#multifactor