[opensuse-ja] Q: sshdにパスワード認証を禁止させる正しい方法を教えてください。
sshdとsshd_configファイルで、 パスワード認証を禁止させる方法についてについてお伺いします。 公開鍵認証でSSHを使い、パスワード認証は禁止する事を考えています。 以下のようなテストをしようとしたのですが、 PasswordAuthenticationをnoにしても、 パスワード認証が有効なままになっていました。 Webで検索して、http://okwave.jp/qa/q2077784.html というページを見つけて、 書かれている通りにUsePAMをデフォルトのyesからnoにして、 目的どおりにパスワード認証を禁止することができました。 ですが本当にこの変更が正しいのか自信がありません。 皆さんがパスワード認証を禁止する時には、本当にUsePAMをnoに しているのでしょうか? または他のより正しい手続きが有るのでしょうか? (例えば /etc/pam.d/sshd を編集する等) 教えていただければ幸いです。 -------- sshd のテスト-------- * 準備: 2013-02-26 OK ** /etc/ssh/sshd_config を編集 PasswordAuthentication no を yesに変更。 ** mkdir ~/.ssh ** chmod 700 ~/.ssh ** 別マシンAでSSH秘密鍵・公開鍵のペアを用意。 * sudo /usr/sbin/service sshd start を実行、sshdが起動するか? 2013-02-26 OK * 別マシンAから scpで12.3にファイルをコピー、 lost connection でエラーになるか?(Firewall のテスト) 2013-02-26 OK * YaST->ファイアウォールを起動、許可するサービスにSecure Shellサーバを追加。 別マシンAから scpで12.3に公開鍵ファイルをコピー、パスワード認証でコピーが成功するか? 2013-02-26 OK * 準備 2013-02-26 OK /etc/ssh/sshd_config を編集 PasswordAuthentication yes を noに変更。 ** sudo /usr/sbin/service sshd restart を実行 * 再び別マシンAから scpで12.3にファイルをコピー、 エラーになるか? !!!! あれ?エラーにならない!!!! * ~/.ssh/authorized_keys の作成 chmod 600 ~/.ssh/authorized_keys -- 1xx <ItSANgo@gmail.com> <https://twitter.com/ItSANgo> <http://d.hatena.ne.jp/Itisango/> -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
武山です パスワードを入力して認証する方法には - PasswordAuthentication - ChallengeResponseAuthentication の2種類があります。 openssh のコマンドラインのクライアントでは、入力画面は同じですが、 Windows の GUI アプリケーションだと、前者は接続時に入力して、 後者は接続ボタンを押した後にプロンプトが出ますね。 両方を無効にするには PasswordAuthentication no ChallengeResponseAuthentication no が必要です。 Fuminobu TAKEYAMA (2013/02/26 22:04), 1xx wrote:
sshdとsshd_configファイルで、 パスワード認証を禁止させる方法についてについてお伺いします。
公開鍵認証でSSHを使い、パスワード認証は禁止する事を考えています。 以下のようなテストをしようとしたのですが、 PasswordAuthenticationをnoにしても、 パスワード認証が有効なままになっていました。 Webで検索して、http://okwave.jp/qa/q2077784.html というページを見つけて、 書かれている通りにUsePAMをデフォルトのyesからnoにして、 目的どおりにパスワード認証を禁止することができました。 ですが本当にこの変更が正しいのか自信がありません。
皆さんがパスワード認証を禁止する時には、本当にUsePAMをnoに しているのでしょうか? または他のより正しい手続きが有るのでしょうか? (例えば /etc/pam.d/sshd を編集する等) 教えていただければ幸いです。
-------- sshd のテスト-------- * 準備: 2013-02-26 OK
** /etc/ssh/sshd_config を編集 PasswordAuthentication no を yesに変更。
** mkdir ~/.ssh ** chmod 700 ~/.ssh
** 別マシンAでSSH秘密鍵・公開鍵のペアを用意。
* sudo /usr/sbin/service sshd start を実行、sshdが起動するか? 2013-02-26 OK
* 別マシンAから scpで12.3にファイルをコピー、 lost connection でエラーになるか?(Firewall のテスト) 2013-02-26 OK
* YaST->ファイアウォールを起動、許可するサービスにSecure Shellサーバを追加。 別マシンAから scpで12.3に公開鍵ファイルをコピー、パスワード認証でコピーが成功するか? 2013-02-26 OK
* 準備 2013-02-26 OK /etc/ssh/sshd_config を編集 PasswordAuthentication yes を noに変更。
** sudo /usr/sbin/service sshd restart を実行
* 再び別マシンAから scpで12.3にファイルをコピー、 エラーになるか?
!!!! あれ?エラーにならない!!!!
* ~/.ssh/authorized_keys の作成 chmod 600 ~/.ssh/authorized_keys
-- 1xx <ItSANgo@gmail.com> <https://twitter.com/ItSANgo> <http://d.hatena.ne.jp/Itisango/>
-- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
2013年2月27日 1:05 Fuminobu TAKEYAMA <ftake@geeko.jp>:
パスワードを入力して認証する方法には - PasswordAuthentication - ChallengeResponseAuthentication の2種類があります。
両方を無効にするには PasswordAuthentication no ChallengeResponseAuthentication no が必要です。
ChallengeResponseAuthenticationで認証してしまっていたんですね。 おっしゃられる通り両者をnoにしたら、期待した動作をするようになりました。 武山さん、はしもとさん、ありがとうございました。 -- 1xx <ItSANgo@gmail.com> <https://twitter.com/ItSANgo> <http://d.hatena.ne.jp/Itisango/> -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
はしもとまさです。 先ず、「UsePAM」について、確認しましたでしょうか? 自分も詳しくなかったので調べてみましたが、 これは、パスワード認証やチャレンジレスポンス認証において、 PAMを使用するか?というものになります。 そこで、自分の sshd_config (デフォルト)を確認してみましたが PasswordAuthentication no #ChallengeResponseAuthentication yes ↑どちらも「no」のように見えますが、 実は ChallengeResponseAuthentication のデフォルトは yes のようです^^; つまり、 ChallengeResponseAuthentication を明示的に no にしてやらない限り、 PAM を使用してログインできてしまうみたいですね。 …ところで、ChallengeResponseAuthentication を yes にして、 UsePAM を no にしたら、これ、プロンプトのパスワード入力で ログインできてしまうのかしら??? # 後で自分もやってみよっと(笑)。 (2013/02/26 22:04), 1xx wrote:
sshdとsshd_configファイルで、 パスワード認証を禁止させる方法についてについてお伺いします。
公開鍵認証でSSHを使い、パスワード認証は禁止する事を考えています。 以下のようなテストをしようとしたのですが、 PasswordAuthenticationをnoにしても、 パスワード認証が有効なままになっていました。 Webで検索して、http://okwave.jp/qa/q2077784.html というページを見つけて、 書かれている通りにUsePAMをデフォルトのyesからnoにして、 目的どおりにパスワード認証を禁止することができました。 ですが本当にこの変更が正しいのか自信がありません。
皆さんがパスワード認証を禁止する時には、本当にUsePAMをnoに しているのでしょうか? または他のより正しい手続きが有るのでしょうか? (例えば /etc/pam.d/sshd を編集する等) 教えていただければ幸いです。
-------- sshd のテスト-------- * 準備: 2013-02-26 OK
** /etc/ssh/sshd_config を編集 PasswordAuthentication no を yesに変更。
** mkdir ~/.ssh ** chmod 700 ~/.ssh
** 別マシンAでSSH秘密鍵・公開鍵のペアを用意。
* sudo /usr/sbin/service sshd start を実行、sshdが起動するか? 2013-02-26 OK
* 別マシンAから scpで12.3にファイルをコピー、 lost connection でエラーになるか?(Firewall のテスト) 2013-02-26 OK
* YaST->ファイアウォールを起動、許可するサービスにSecure Shellサーバを追加。 別マシンAから scpで12.3に公開鍵ファイルをコピー、パスワード認証でコピーが成功するか? 2013-02-26 OK
* 準備 2013-02-26 OK /etc/ssh/sshd_config を編集 PasswordAuthentication yes を noに変更。
** sudo /usr/sbin/service sshd restart を実行
* 再び別マシンAから scpで12.3にファイルをコピー、 エラーになるか?
!!!! あれ?エラーにならない!!!!
* ~/.ssh/authorized_keys の作成 chmod 600 ~/.ssh/authorized_keys
-- 1xx <ItSANgo@gmail.com> <https://twitter.com/ItSANgo> <http://d.hatena.ne.jp/Itisango/>
-- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
participants (3)
-
1xx
-
Fuminobu TAKEYAMA
-
Hashimoto Masahiko