web-dev-qa-db-ja.com

パスワード認証のみのSCPはパスワードを要求しません

Scpを使用して、あるサーバーから別のサーバーにファイルをコピーしようとしています。

両方のサーバーで、sshポートを222に構成しました。両方のサーバーのsshd_configはまったく同じです(RootLoginなし、PasswordAuthenticationが有効)

ここでは説明しきれないほど多くの理由により、私はキー認証を使用できません。

Scpを使用してサーバーAからサーバーB(Aにログ記録)にコピーすると、機能します。しかし、BからAに(Bに記録されて)同じことをしているときは機能しません:「許可が拒否されました」というエラーメッセージが表示され、scpはパスワードを要求しません(パスワード認証は有効です)。

ここに私が使用するコマンドがあります(サーバーBにログオンしています):

scp -P 222 -vvv ~/backup/file user@serverA:/home/user/backup

そしてここに出力の最後の行があります:

debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: password
debug3: start over, passed a different list password
debug3: preferred publickey,keyboard-interactive
debug1: No more authentication methods to try.
user@serverA: Permission denied (password).

「パスワード」が有効になっているのに(2番目の「debug1」行に記述されているように)、scpがパスワードを要求しないのはなぜですか?

ありがとうございました。

8
Harkonnen

最善の解決策は、そのサーバーでpublickey認証を無効にした人に理由を尋ね、それから修正することです。 publickey認証の使用は、パスワードよりも便利で安全です。

認証が失敗する理由は、クライアントとサーバーの両方で有効な認証方法がないためです。サーバーで有効になっている認証方法は次のとおりです。

debug1: Authentications that can continue: password

また、クライアントで有効になっている認証方法は次のとおりです。

debug3: preferred publickey,keyboard-interactive

-o PreferredAuthentications=password to scpは、password認証のみを使用します。

11
kasperd