当我尝试无密码登录时,我无法登录我们的生产服务器。服务器是 solaris 并使用安全 shell ssh2。它不接受公钥或密码。现在我完全被锁在外面了。
我得到密码提示,但在我输入密码后立即出现以下错误。
ssh 服务器 admin@sever 的密码:已通过部分成功的身份验证。权限被拒绝(公钥)。
这是一个严重的问题。请帮忙。
当我尝试无密码登录时,我无法登录我们的生产服务器。服务器是 solaris 并使用安全 shell ssh2。它不接受公钥或密码。现在我完全被锁在外面了。
我得到密码提示,但在我输入密码后立即出现以下错误。
ssh 服务器 admin@sever 的密码:已通过部分成功的身份验证。权限被拒绝(公钥)。
这是一个严重的问题。请帮忙。
听起来它可能正在尝试使用多因素身份验证。我不知道如何让 libssh2 做到这一点,但是使用phpseclib(一个纯 PHP SSH2 实现)可以很容易地做到这一点。一个例子如下:
<?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');
?>
源代码:http : //phpseclib.sourceforge.net/ssh/auth.html#multifactor