存在する場合はキーを使用し、存在しない場合はパスワードを使用してログインするようにSSHを設定できますか?

存在する場合はキーを使用し、存在しない場合はパスワードを使用してログインするようにSSHを設定できますか?

ユーザーにキーが設定されているときに公開鍵認証を許可するように内部ネットワーク用にsshdを設定しようとしています。または、ユーザーにキーが設定されていない場合はパスワードを要求しますが、どちらも要求しません。

したがって、ユーザーが公開鍵を設定した場合はパスワードなしでログインできる必要があり、公開鍵を設定していない場合はパスワードを入力する必要があります。

Ubuntu14.04

OpenSSHサーバー1:6.6p1-2ubuntu2

答え1

/etc/ssh/sshd_configで、このユーザー(またはすべてのユーザー)に対してPubkeyAuthentication yes PasswordAuthentication yesを設定する必要があります。もちろん、公開鍵認証のためにパスワードも設定し、authenticate_keysも設定してください。

答え2

(または他のプログラム)を介してキーを生成するときは、以下を実行してssh-keygenサーバーにコピーする必要があります。

ssh-copy-id user@host

ユーザーにパスワードを一度尋ね、そのキーを使用してログインできます(パスワードは必要ありません)。

関連情報