• ベストアンサー

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

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

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

  • ベストアンサー
  • nano70
  • ベストアンサー率91% (11/12)
回答No.1

sshd hosts.(allow|deny) で検索するといかがでしょうか。

piko_san
質問者

お礼

 有り難うございます。 /etc/hosts.allow /etc/hosts.deny  に記述で解決出来ました。  sshd_config に書く方は解決出来ていないのですが・・・

関連するQ&A

  • 特定ホストからのみ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 と言う設定をしましたが、これ以外に有効な方法はありますでしょうか? (この方法だと厳密には、「認証を通さない」設定になるかと思います) ありましたら、教えて頂きたいと思います。

  • rootでのsshログインを許可したいのですが、何故か出来ません。

    rootでのsshログインを許可したいのですが、何故か出来ません。 sshサーバ環境 CentOS release 5.5 (Final) OpenSSH_4.3p2 sshサーバの「/etc/ssh/sshd_config」の内容は以下の通りです。 #「/etc/ssh/sshd_config」 Protocol 2,1 ListenAddress 0.0.0.0 SyslogFacility AUTHPRIV PermitRootLogin yes RSAAuthentication yes PubkeyAuthentication yes IgnoreRhosts yes PermitEmptyPasswords no PasswordAuthentication yes ChallengeResponseAuthentication no GSSAPIAuthentication yes GSSAPICleanupCredentials yes UsePAM yes AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL X11Forwarding yes Subsystem sftp /usr/libexec/openssh/sftp-server #---------- なお、その他の項目はコメントアウトされています。 調べてみますと「PermitRootLogin」をyesにしてsshdを再起動(/etc/rc.d/init.d/sshd restart)すれば良いとありますが、それでもrootでsshログインが出来ません。なお、一般ユーザではsshでログイン可能です。 sshdサーバでの「/var/log/secure」では、以下のようにあります。 Aug 27 16:52:22 hogehoge sshd[2543]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=xxx.com user=root Aug 27 16:52:25 hogehoge sshd[2543]: Failed password for root from xxx.xxx.xxx.xxx port 37192 ssh2 原因として何が考えられますでしょうか。

  • ubuntuでssh

    sshサーバーを建てたいのですが、 sudo apt-get install openssh-serverからインストールし、 /etc/ssh/sshd_configのPermitRootLoginをnoにした後、 sudo /etc/init.d/ssh restartを実行しました。 http://whatismyipaddress.com/でIPを確認して ssh ユーザ@IPを実行すると、 ssh: connect to host [IP] port 22: Connection refused と表示されます。 原因は何でしょうか。

  • クライアントPCの端末からからssh 接続

    クライアントPCの端末からからssh 接続をするためには? ○質問の主旨 WindowsのTeraTermをターミナルソフトとして、 Linuxのサーバー上にある SSHサーバーに接続したいと考えています。 そのときの接続コマンドは、以下の通りです。 $ ssh -l user -p 22 -i home/user/.ssh/authorized_keys server user→一般ユーザーの名前 22→ポート番号 home/user/.ssh/authorized_keys→公開鍵のパス名 server→SSHサーバーのホスト名 参考サイト http://dogmap.jp/2011/10/27/ssh_config/ しかし、上記のコマンドで接続しようとすると 下記のように叱られて、接続することができません。 Warning: Identity file home/user/.ssh/authorized_keys not accessible: No such file or directory. ssh_exchange_identification: Connection closed by remote host どのように接続するためにはどのように対処すれば よろしいでしょうか? ご存知の方がいらっしゃいましたら、 ご教示願います。 ○質問の補足 現在、SSHサーバーへのアクセス制御は以下のように設定しています。 #vi /etc/hosts.deny sshd:all #vi /etc/hosts/hosts.allow sshd:(サーバーのIPアドレスのみ記述) #vi /etc/ssh/sshd_config MaxStartups 10 (#MaxStartupsとコメントにされていたので#を削除) 参考サイト http://wsjp.blogspot.jp/2012/08/sshexchangeidentification-connection.html また一般ユーザーのホームディレクトリの下に .sshと言う名前のフォルダを使って、 authorized_keysという名前のファイルに 公開鍵で使用する文字列を書き込んでいます。 ○環境 クライアントPC:windows8.1 ターミナルソフト:TeraTerm Pro サーバー:Linux(CentOS6.0)

  • (SSH)TeraTermでのリモートログインが出来ない

    同じセグメントの他Linuxサーバからは”ssh HOSTNAME"でログイン出来るのですが、自分のPCからTeraTermで接続しようとすると失敗してしまいます。。。 何が原因なのでしょうか? SSHDデーモンをリスタートしてもだめでした。。。 また、sshd_configファイルもログイン出来るサーバとまったく同じです。 OS: Redhat Linux v4

  • SSHのホスト認証について

    現在VineLinux3.2を使ってサーバの勉強をしている、ド素人です。 SSHのユーザ認証が、 (1)サーバ側で乱数生成→クライアントの公開鍵で暗号化→ (2)クライアントに送信→ (3)クライアントが受信→ (4)秘密鍵で複合化→サーバに送信→ (5)サーバはクライアントから送られた乱数を確認して認証 という流れで、なるほど、これでユーザを認証できるってのは分かるのですが、 ホスト認証がよくわかりません、 SSHでサーバにアクセスすると、 サーバの公開鍵が ~/.ssh/knows_hosts に登録されますが、 この公開鍵を使って、ユーザ認証と同じ方法で接続先ホストを認証してるのでしょうか? そうだとしたら、 2度目のアクセスからはホストを認証するのに、 この~/.ssh/known_hostsの 公開鍵を使った方法が有効だというのは分かりますが、 一番最初のアクセスではこの公開鍵を使ってもホストの認証は出来ないと思うのですが(接続先から送られてくる公開鍵を使うだけなので) どういう仕組みになってるのでしょうか? よろしくおねがいします。

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

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

  • sftp接続について

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

  • SSHに繋がらない

    SSHから接続できず、ユーザー認証でエラーになってしまいます。 何かわかる方がいらっしゃいましたら、どうか少し教えて頂けないでしょうか。 OSはCentOS 6.2 です。 -------------------------------------------------------------------- ■サーバー -------------------------------------------------------------------- ★設定 # vi /etc/ssh/sshd_conf > Port 22 > Protocol 2 > AllowTcpForwarding yes > GatewayPorts no > MaxAuthTries 6 > MaxSessions 10 > > ServerKeyBits 1024 > StrictModes yes > > SyslogFacility AUTHPRIV > LogLevel DEBUG3 > > PubkeyAuthentication yes > PasswordAuthentication no > PermitEmptyPasswords no > AuthorizedKeysFile .ssh/authorized_keys > > PermitRootLogin without-password > UsePrivilegeSeparation yes > > Subsystem sftp /usr/libexec/openssh/sftp-server > X11Forwarding no ★鍵を作成 # su user1 $ ssh-keygen -t rsa -b 1024 $ Generating public/private rsa key pair. $ Enter file in which to save the key (/user1/.ssh/id_rsa): $ Enter passphrase (empty for no passphrase): $ Enter same passphrase again: $ Your identification has been saved in /user1/.ssh/id_rsa. $ Your public key has been saved in /user1/.ssh/id_rsa.pub. $ The key fingerprint is: $ 50:4f:72:d4:0a:d6:d2:24:98:96:7b:xx:xx:xx:xx:xx user1@myhost.com $ The key's randomart image is: ★鍵の名前を変更 $ cd /home/user1/.ssh/ $ cp id_rsa.pub authorised_keys $ rm id_rsa.pub ★パーミッション確認 $ drwxr-xr-x. root root /etc/ssh $ -rw------- root root /etc/ssh/sshd_conf $ drwxr-xr-x. user1 user1 /home/user1 $ drwxr-xr-x user1 user1 /home/user1/.ssh $ -rw-r--r-- user1 user1 /home/user1/.ssh/authorised_keys ★再起動 # service sshd restart # Stopping sshd: OK ] # Starting sshd: OK ] -------------------------------------------------------------------- ■クライアント -------------------------------------------------------------------- Windows7 teraterm ポート:22 SSHバージョン:SSH2 ユーザー名・パスフレーズを入力し、「RSA/DSA鍵を使う」に上記で作った「id_rsa」プライベート鍵をセット。 エラーメッセージ:「SSH2自動ログインエラー:ユーザー認証が失敗しました」 -------------------------------------------------------------------- ■ ログ(/var/log/secure)抜粋 -------------------------------------------------------------------- Aug 6 17:57:26 localhost sshd[21819]: debug1: temporarily_use_uid: 0/0 (e=0/0) Aug 6 17:57:26 localhost sshd[21819]: debug1: trying public key file /user1/.ssh/authorized_keys Aug 6 17:57:26 localhost sshd[21819]: debug1: restore_uid: 0/0 Aug 6 17:57:26 localhost sshd[21819]: debug1: temporarily_use_uid: 0/0 (e=0/0) Aug 6 17:57:26 localhost sshd[21819]: debug1: trying public key file /user1/.ssh/authorized_keys Aug 6 17:57:26 localhost sshd[21819]: debug1: restore_uid: 0/0 Aug 6 17:57:26 localhost sshd[21819]: Failed publickey for user1 from yyy.yyy.yyy.yyy port 58193 ssh2 Aug 6 17:57:26 localhost sshd[21819]: debug3: mm_answer_keyallowed: key 0x7fc196d47cf0 is not allowed Aug 6 17:57:26 localhost sshd[21819]: debug3: mm_request_send entering: type 22 Aug 6 17:57:26 localhost sshd[21819]: debug3: mm_request_receive entering Aug 6 17:57:26 localhost sshd[21820]: debug2: userauth_pubkey: authenticated 0 pkalg ssh-rsa Aug 6 17:57:26 localhost sshd[21820]: debug3: Wrote 68 bytes for a total of 2633 Aug 6 17:57:26 localhost sshd[21820]: Connection closed by yyy.yyy.yyy.yyy ※yyy.yyy.yyy.yyyは、teratermでアクセスしたIPです。 -------------------------------------------------------------------- ■備考 -------------------------------------------------------------------- 「nmap localhost」は「22/tcp open ssh」ですが、 グローバルIPで「nmap xxx.xxx.xxx.xxx」すると、22番がリストに出ませんでした。 ルーター、iptables、ともにポートは開けています。 (念のため、「iptables」と「system-config-firewall」は停止しています。) ログを見ると、sshdまで到達しているように見えるのですが・・・。

  • sshでログインができません?

    linux7.2 REDHATでopensshを構築しました。windowsクライアントからLAN内でsshで接続しようとしていますがうまくいきません。 普通成功したときはパスワードを聞いてきますが、聞かれない状態です。 LINUX側でユーザーかグループを作成しなければならないのでしょうか? 以下の設定ファイルを調整してみました。 ・sshd_conf ・hosts.allow ・hosts.deny ・pingは通ります。 ・サーバー側ではsshでログインできます。 ・テストでtelnetを設定してみましたがクライアントからログインできませんでした。 サーバー側からはできました。 ・ブラウザー経由でwebサーバはアクセスできます。 ・DOSプロンプトから telnet ホスト名 22 で確認したところ接続できない状態になる。 ポートのところではじかれているように思えます。 どなたかこころやさしい方ご教授いただけないでしょうか? よろしくお願いいたします。

専門家に質問してみよう