パスワードなしでログインしようとすると、本番サーバーにログインできません。サーバーはsolarisで、セキュアシェルssh2を使用しています。公開鍵またはパスワードは受け入れません。今、私は完全にロックアウトされています。
パスワードプロンプトが表示されますが、パスワードを入力した直後に次のエラーが表示されます。
ssh サーバーの admin@sever のパスワード: 部分的な成功で認証されました。許可が拒否されました (公開鍵)。
これは深刻な問題です。助けてください。
パスワードなしでログインしようとすると、本番サーバーにログインできません。サーバーはsolarisで、セキュアシェルssh2を使用しています。公開鍵またはパスワードは受け入れません。今、私は完全にロックアウトされています。
パスワードプロンプトが表示されますが、パスワードを入力した直後に次のエラーが表示されます。
ssh サーバーの admin@sever のパスワード: 部分的な成功で認証されました。許可が拒否されました (公開鍵)。
これは深刻な問題です。助けてください。
おそらく多要素認証を使用しようとしているようです。libssh2でそれを行う方法はわかりませんが、純粋なPHP SSH2実装であるphpseclibを使用すると簡単に実行できます。以下に例を示します。
<?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