パスワード認証を完全に無効にする方法はありますか?コマンドラインは次のとおりです。
ssh -o KbdInteractiveAuthentication=no -o PasswordAuthentication=no machine"
それでもパスワードを要求します。もちろん、可能であればサーバーに触れずにこれを実行したいと思います。
さて、私はそれを見つけました!それは
ssh -o BatchMode=yes Host
特に以前に試したオプションが機能しないという事実があるため、あまり直感的ではありません。
これらのオプションを.ssh/configに追加して、入力を節約できます。
Host host
BatchMode yes
仕事をする必要があります。
私はちょうどこの問題を抱えていて、ここで答えを見つけました:
http://www.gossamer-threads.com/lists/openssh/dev/47179
基本的に、opensshはkeyboard-interactiveを使用してchallenge-repsonseを実装しました。したがって、これらのオプションのいずれかが「yes」に設定されている場合、コードではキーボードインタラクティブが「yes」に設定されます。必要な動作を得るには、両方を「いいえ」に設定する必要があります。
私がしなければなりませんでした:
ssh -o PasswordAuthentication=no -o KbdInteractiveAuthentication=no -o ChallengeResponseAuthentication=no
もちろん、BatchMode=yes
設定は、これらすべてを処理し、将来、新しいユーザーの対話型認証方法に対して将来を保証します。