私は私の仕事で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キーを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
ここでどこに行くべきかわかりません。受信者はいますか?
答え1
SSHサーバーを再起動した場合、またはSIGHUPを送信して設定ファイルを再ロードするように指示したことがわかった場合は...
おそらくセクションAllowUsers
にありますかMatch
?以前のディレクティブがある場合、Match
Jonathan、Alvin、およびその他のユーザーは特定の状況でのみ許可されます。
…
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
ディレクティブはこのディレクティブの下に移動する必要があります。)
答え2
Ubuntuを使用している場合は、私と同じ問題が発生する可能性があります。 2つのサービス定義/etc/init.d/sshと/etc/init/ssh.confがあります。 (旧スタイル)のようにサービスを再起動してください。
/etc/init.d/ssh restart
何もしません(ステータスコマンドは何も表示しません)。 Upstartサービスを直接再起動してください。
service ssh restart
これを行います。あなたの場合は、OSを再起動するのが役に立ったので、これは問題のようです。
また、ユーザーがカンマではなくスペースで区切られていることを確認してください。 SSHデーモンは警告を表示しません。
答え3
無料席が問題かもしれません。
sshd_configまたはssh_configでAllowGroupsまたはAllowUserがコメントアウトされている場合、これはSSHリモートセッションにも適用されます。 PermitRemotelogin Noと答えた場合は、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