web-dev-qa-db-ja.com

ユーザーがSSH経由でログインすることを許可できない(Bash、OpenSSH、CentOS 6.5)

CentOS 6.5マシンをSSH経由でリモートで実行しています。 RSAキーを使用しており、パスワード認証を無効にしています。私が抱えている問題は、新しいユーザーを追加し、そのユーザーにSSH経由でのログインを要求すると、アクセスが拒否されることです。

最初は、これは単純な問題のように見えました。これらは私がすでに試したことです:

  • 明らかなエラーがないかpubキーを確認しました
  • Authorized_keysおよび〜/ .sshに対する適切な権限を確認しました
  • それらがssh_configのAllowUsersリストにあることを確認しました
  • ファイアウォールのアクセス許可を確認した
  • 秘密鍵が使用されていることを確認した
  • SSHDを再起動しました

これがsshd_configで設定したものです。

PermitRootLogin no
AllowUsers keving moman muser

そしてこれは私のログが私に言っていることです:

Login attempted when not in AllowUsers list:
    muser : 3 Time(s)
    root : 127 Time(s)

AllowUsersリストに明らかにmuserがリストされているのに、SSHがログインを許可しないのはなぜですか?これを設定できる別の場所はありますか?

更新:詳細フラグ-vを付けてユーザーのauthorized_keysファイルにpubキーを追加した後、自分のマシンでそのアカウントにログインしようとしました。これらは結果です(セキュリティ上の理由から、偽のIPとサーバーのホストキーを使用)。

$ ssh -v [email protected]
OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014
debug1: Reading configuration data /c/Users/[user]/.ssh/config
debug1: Connecting to 111.111.111.111 [111.111.111.111] port 22.
debug1: Connection established.
debug1: identity file /c/Users/[user]/.ssh/id_rsa type 1
debug1: identity file /c/Users/[user]/.ssh/id_rsa-cert type -1
debug1: identity file /c/Users/[user]/.ssh/id_dsa type -1
debug1: identity file /c/Users/[user]/.ssh/id_dsa-cert type -1
debug1: identity file /c/Users/[user]/.ssh/id_ecdsa type -1
debug1: identity file /c/Users/[user]/.ssh/id_ecdsa-cert type -1
debug1: identity file /c/Users/[user]/.ssh/id_ed25519 type -1
debug1: identity file /c/Users/[user]/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<3072<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server Host key: RSA [censored]
debug1: Host '111.111.111.111' is known and matches the RSA Host key.
debug1: Found key in /c/Users/[user]/.ssh/known_hosts:4
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /c/Users/[user]/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Trying private key: /c/Users/[user]/.ssh/id_dsa
debug1: Trying private key: /c/Users/[user]/.ssh/id_ecdsa
debug1: Trying private key: /c/Users/[user]/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
5
gillytech

@toppledwagonが私の質問へのコメントで示唆しているように、私は/var/log/securityを確認し、ホームディレクトリを含む~/.ssh/authorized_keysツリーに不正なアクセス許可のエントリがあったことを確認しました。

これらの編集を行った後、RSAキーを使用してSSH経由でユーザーのアカウントにログインすることができました。

$ chmod g-w /home/your_user
$ chmod 700 /home/your_user/.ssh
$ chmod 600 /home/your_user/.ssh/authorized_keys

参照: http://www.daveperrett.com/articles/2010/09/14/ssh-authentication-refused/

これらの権限を調整した後、ログインすることができました。.ssh dirおよびauthorized_keysファイルがすでにそれぞれ700および600に設定されていることに注目してください。何らかの理由でホームディレクトリが正しく設定されていません。

コメントで助けてくれたすべての人に感謝します。

13
gillytech
  1. /etc/ssh/sshd_configユーザーのグループをAllowGroupsに追加します。
  2. Sshdを再起動しますservice sshd restart
3
ACV