• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sshd_configのAllowUsers)

sshd_configのAllowUsersの制限方法について

このQ&Aのポイント
  • sshd_configのAllowUsersを編集して、特定のアカウントが特定のローカルネットワークからしかログインできないように制限したい場合、設定方法に注意が必要です。
  • 許可するユーザー数が多すぎるとログインできない可能性があるため、ネットワーク範囲を適切に設定する必要があります。
  • 具体的には、アカウント名の後に@記号を付け、IPアドレスとネットワークマスクを指定することで制限をかけることができます。複数のネットワーク範囲を指定する場合は、カンマで区切ることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • EF_510
  • ベストアンサー率50% (306/604)
回答No.1

えっと…AllowUsersの使い方が間違っています。 例に従うと、 goo@192.168.0.0/24 は ホスト名が「192.168.0.0/24」のgooユーザーに対してであって「IPアドレスの制限」ではありません。 当然ホスト名が異なると思いますのでログインできなくなります。 アクセス元ホストの名前があると思いますのでそれを指定してください。 goo@*example.co.jpなどです。 /etc/hosts_allowファイルも参照してください。

symmetry5
質問者

補足

回答ありがとうございます。 192.168.0.0/24という表記で192.168.0.0~192.168.0.254のホストを表しますよね?←これが間違い?? example.co.jpなどのアクセス元ホストの名前が分かりません。どこで確認できますでしょうか? ローカルネットワーク内のマシンの名前は/etc/hostsで決められていますが、それのことでしょうか? 適応させたいマシンは数10台程度なので、別々に AllowUsers goo@192.168.0.0 goo@192.168.0.1 goo@192.168.0.2 goo@192.168.0.3 ・・・と書けばやりたいことは達成できますが、短縮した表記があれば今後便利だと思いました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • EF_510
  • ベストアンサー率50% (306/604)
回答No.4

>192.168.0.0/24という表記で192.168.0.0~192.168.0.254のホストを表しますよね?←これが間違い?? 間違いです。あくまでそれはアドレス表記であってホスト名じゃありません。 allowuserもいいですが、Matchも考慮に入れてみてはどうでしょうか? Match Address 192.168.0.0/24 PermitRootLogin no PasswordAuthentication yes (ルールは適当です)

symmetry5
質問者

お礼

Match Addressというのを初めて聞きました。 分からないところをいじって困ったことになると面倒なので、 潔く列挙することにしました。 お付き合いいただきありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.3

>バージョンはOpenSSH_4.3p2でした。 軽くソースコードを読んでみましたが…… 残念ながら4.3p2ではCIDR表記には対応していない…ようです。

symmetry5
質問者

お礼

そうなんですか><潔く列挙する方法で我慢しようかな。。 わざわざ調べていただいてありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

サーバのバージョンはいくつなんでしょう?? >許可するユーザー数が多すぎるとダメだという話を openssh-5.9p1ではAllowUsersに指定できるのは256エントリ…のようです。 今回の指定の場合は、1エントリ扱いになりますから、ネットマスク部分は無関係かと。 # 5.9p1のソース、軽く読んだ限りではCIDR表記でも通る…っぽかったですが……。 # ただし、試したことは…ないです。(というかこういう書き方が可能だとも思っていなかったもので)

symmetry5
質問者

補足

回答ありがとうございます。 バージョンはOpenSSH_4.3p2でした。 No.1さんの回答の補足にも書いたのですが、goo@190.168.0.0/24という表記でgoo@190.168.0.0~goo@190.168.0.254という意味になりませんでしょうか? やりたいのはそういった短縮した表記なのですが、この表記がだめだとして、他に方法をご存じないでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • RedHatLinuxのSSHサーバをアクセス制御したいです

    RedHatLinuxでSSHサーバを使用する際に、アクセスの制御をしたいと思います。 rootのログインを拒否するのは、 vi /etc/ssh/sshd_config # PermitRootLogin yes → コメントをはずして、PermitRootLogin no にすると思うのですが、 ログインできるユーザを限定する場合は、 AllowUsersの個所を修正すると聞いたのですが、 sshd_configの中に、そうゆう個所はありませんでした。 どのようにしたら良いのでしょうか?

  • sshdの起動の仕方

    今unixでsSSLによる通信の暗号化を試しています。 そこでshdを起動しましたが、 privilege separation user sshd does not exist というエラーが帰ってきます。 どうすればよいのかご存知の方 教えてください。 もちろんsshdはmake install済みですし、 sshdがあるディレクトリ内で起動を試みています。 ついでに # /usr/local/sbin/sshd で試しましたがだめでした。

  • 特定ホストからのみSSHでのrootログインを許可

    2台のサーバ間でrootユーザー所有のファイルの同期を rsyncで行う為、ssh_configでrootログインを許可しています。 ココでセキュリティの関係上、sshでのrootログインを特定の ホストからのみ許可したいと思ってます。 /etc/security/access.confに以下を追記 -:root : ALL EXCEPT 192.168.**.**. /etc/pam.d/sshdに以下を追記 account required pam_access.so /etc/ssh/sshd_config UserPAM yes と言う設定をしましたが、これ以外に有効な方法はありますでしょうか? (この方法だと厳密には、「認証を通さない」設定になるかと思います) ありましたら、教えて頂きたいと思います。

  • sedコマンドの置換パターン条件について

    シェルスクリプトについて質問です。 /etc/ssh/sshd_configのAllowUsers行にユーザを追加&削除、sshdをリスタートするスクリプトを作っています。 ユーザ追加の処理はsedコマンドで実現できました。 sed -i -e "s/^AllowUsers/AllowUsers $USERNAME/" $CONF_FILE そして、悩んでいるのがユーザ削除時の処理です。 "AllowUsersで始まる行の中で" 且つ "変数$USERNAME" に一致する部分を削除するという処理です。sedは複数条件を指定することもできますが、以下記述の場合、2つの条件が独立して処理されてしまいます。 sed -e "s/^AllowUsers/AllowUsers/" -e "s/ $USERNAME//" $CONF_FILE ($USERNAMEに一致する部分はAllowUsersで始まらない行でも置換される) sedにAND条件のような使い方は可能でしょうか。 環境はCentOS 5.3、シェルはbashを使っています。 よろしくお願いいたします。

  • sshdでパスワード認証を禁止できない

    sshdでパスワード認証を禁止したいのですが、できません。 現在は、公開鍵認証でログインでき、パスワード認証でもログインできてしまう状態です。 ■やっったこと サーバー側から、「/etc/ssh/ssh_config」を以下のように修正 コメントアウトを外して、yesをnoに変更 【変更前】 # PasswordAuthentication yes 【変更後】 PasswordAuthentication no sshdのリスタート linux:/ # /etc/init.d/sshd restart Shutting down SSH daemon done Starting SSH daemon done 以下は、パーミッション700で、そのユーザーがオーナーになってます。 /home/ユーザー/.ssh /home/ユーザー/.ssh/authorized_keys2 ■状況 ・秘密鍵を使用したパスフレーズでログインできます。 ・パスワードでもログインできてしまいます。 ・PuTTYとWinSCPの2つで試しました。 パスフレーズとパスワードは、別の文字です。8桁 ■環境 サーバー側 ・SuSE Linux9.3 クライアント側 ・Windows2000 SP4 ・PuTTY Release0.58-jp20050503 ・WinSCP バージョン3.8.0(ビルド312) 宜しくお願いします。

  • SSHで、特定ホストからのみ許可したい

     お世話になります。  自宅のLinuxサーバに、SSHで特定ホストからのアクセスのみ許可したくて、sshd_configの編集をしています。  色々やってみたのですが特定のユーザのみの許可仕方、特定のIPの許可などは上手くいくのですが、ホスト指定だけがうまくいかず許可されません。    検索で調べても、 *@[ホスト名] とあり、具体的な書き方が出て来ずどこが違うのかなどピンとこないです。  こちらはソネットなのですけど、 *@ap.so-net.ne.jp  などではだめなのでしょうか?  どなたかご教示いただけると助かります。

  • puttyで接続したらserver unexpectedly closed network connectionというエラーがでました。

    Putty でパスワードを入力した直後に server unexpectedly closed network connection というエラーが発生しログインできませんでした。 ちょっと調べてみたら、 /etc/ssh/sshd_config で #UsePAM yes UsePAM no とすれば良いと書いてあったのですが、以下の点がわかりません。 ・/etc/ssh/sshd_config の sshd_configというのはディレクトリでしょうか?むしろ/etc/のなかに/ssh/というディレクトリが存在しないのですがどうすればいいのでしょうか? ・サーバにアクセスできないのにどうやって修正すればいいのでしょうか? 以上どうぞよろしくお願いします。

  • sftp接続について

    RHEL5のsshd のサーバへクライアントPCから接続するときに、特定のユーザーのみsftp接続を拒否したく、sshd_config の DenyUsers にて指定してsftp接続を拒否することができました。 ただ、対象ユーザーにsftp接続は拒否しつつ、ssh接続は許可したいのですが、何か良い方法はないでしょうか。 よろしくお願いします。

  • Windowsネットワーク共有

    ネットワークを介してのフォルダ共有で質問です。 サーバにある共有フォルダにアクセスしたいのですが、 「発行先の共有が必要です」と出てしまいアクセスできません。 状況は以下です。 ・サーバの共有フォルダは「server\User」に対してアクセス許可をしています ・クライアントには「local\User」というローカルアカウントでログインしています。 ・共有フォルダにアクセスすると認証プロンプトが出るのですが、何度入力してもはじかれてしまいます。 ・クライアントに異なるアカウントでログインした場合はアクセス出来ます 上記の事から、同名のアカウントが悪さをしているのだと推測しているのですが、 対応策がわかりません・・・ ご教授お願い致します。

  • windows smbでのログインについて

    スマートフォン(iPhone)から自宅ネットワーク内のローカルPCに接続したいと思っています。 アプリ上、Windows smbでのログインが可能なようなのですが、ここに 入れるユーザアカウントはMicrosoftアカウントでもローカルアカウントでも 良いのでしょうか? 現状、アカウントは1つしかないので、ローカルPCで接続しているMicrosoftアカウントでスマホから接続しようとしているのですが、失敗してしまい、困っています。 ローカルPCで接続中の場合、別にユーザを作らないとならないのでしょうか…。