私は職場でLinuxボックスの管理を受け継ぎました。それは今なくなっている同僚によって設立されました。最近、システムに新しいユーザーを追加し、彼女のsshアクセスも許可しようとしました。マシンを使用するほとんどの人がそれにアクセスする方法。これ、仕事に行けません。
ここで何が起こるかです:
scmb-bkobe03m:~ xzhang$ ssh -v -X -p 22 arwen@myServer
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to myServer [152.98.xx.xx] port 22.
debug1: Connection established.
debug1: identity file /Users/xzhang/.ssh/identity type -1
debug1: identity file /Users/xzhang/.ssh/id_rsa type 1
debug1: identity file /Users/xzhang/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-6+squeeze2
debug1: match: OpenSSH_5.5p1 Debian-6+squeeze2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.2
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<1024<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: Host '[myServer]:22' is known and matches the RSA Host key.
debug1: Found key in /Users/xzhang/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/xzhang/.ssh/identity
debug1: Offering public key: /Users/xzhang/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/xzhang/.ssh/id_dsa
debug1: No more authentication methods to try.
もちろん、私はもちろん、彼女の公開ssh-keyをauthorized_keys
ファイルに追加しました。 /var/log/auth.logを調べたところ、
Jan 7 11:37:12 sauron sshd[5002]: User arwen from myClientMachine not allowed because not listed in AllowUsers
私が彼女をAllowUsers
に追加したので、これはおかしいです:
daniel@sauron:~$ Sudo more /etc/ssh/sshd_config | grep AllowUsers
AllowUsers jonathan daniel rafael simon thomas li arwen
ここからどこへ行くべきか分かりません。テイカーはいますか?
SSHサーバーを再起動したか、SIGHUPを送信して構成ファイルをリロードするように指示したことが確実である場合…
多分AllowUsers
はMatch
セクションにありますか?以前のMatch
ディレクティブがある場合、次のように、ジョナサン、アーウェンなどが特定の状況でのみ許可される可能性があります
…
Match localhost PasswordAuthentication yes
# Whitelist users who may ssh in
AllowGroups admin
AllowUsers jonathan daniel rafael simon thomas li arwen
(コメントは誤解を招く:これらのAllowGroups
およびAllowUsers
ディレクティブは、localhostにログインする場合にのみ適用されます。Match localhost
ディレクティブはこれらの下に移動する必要があります。)
Ubuntuを使用している場合は、私と同じ問題に直面する可能性があります。 2つのサービス定義/etc/init.d/sshと/etc/init/ssh.confがあります。 (旧式)のようなサービスの再起動
/etc/init.d/ssh restart
何もしません(そしてstatusコマンドは何も表示しません)。 Upstartサービスを直接再起動する
service ssh restart
事をします。 OSの再起動があなたのケースで役に立ったので、それは問題のようです。
また、ユーザーがスペースで区切られており、コンマで区切られていないことを確認してください。 SSHデーモンはそのための警告を表示しません。
無料の場所が問題になる可能性があります。
Sshd_configまたはssh_configでAllowGroupsまたはAllowUserがコメントされている場合、これらはsshリモートセッションにも適用されます。 PermitRemoteloginにコメントした場合は、NoをYesに変更してください。
「ステートメントをコメントアウトしてsshを再起動し、問題が発生するかどうかを確認してから、他の変更を試みることもできます。コメントアウトするには、コメントの前にハッシュタグを追加するだけです
#AllowGroups Group1 <- made up group
#Allow User User1
AllowGroups Group1
AllowUser User1
ユーザーグループを確認し、ログインに使用しようとしているユーザー名がグループに含まれていることを確認します。
vi /etc/group
Group1:100:user1,root, etc
<-ここに何も記載されていない場合は、拒否許可ステートメントです。
Sshd_configまたはssh_configを変更したら、sshを再起動する必要があります。
svcadm restart ssh
見るべき他の場所:
vi /etc/defalut/login
vi /etc/pam.config
vi /etc/sshd_config