web-dev-qa-db-ja.com

SSHを介してroot以外のユーザーに接続できない

SSHを使用してローカルネットワーク上のサーバーに接続しようとしていますが、stormではなくrootとしてログインできないようにしたい(明らかなセキュリティ上の理由から)。 .pubキーを.ssh/authorized_keysにコピーしました

これで/ etc/ssh/sshd_config:

PermitRootLogin no
[...]
Match Address 192.168.1.*,127.0.0.1
   PermitRootLogin yes

私は得る:

$ ssh root@ip
Enter passphrase for key 'PATH_OF_THE_KEY'
$ ssh storm@ip
Permission denied (publickey).

最後にこの新しい行があります:

AllowUsers stormまたはAllowUsers storm root

私は得る:

$ ssh root@ip
Permission denied (publickey).
$ ssh storm@ip
Permission denied (publickey).

Match Addressブロックがコメントされていても、rootとユーザーの両方がブロックされます。誰かが私を助けてくれますか?


編集:ストームユーザーとの失敗した接続ごとにログを記録します

localhost sshd[698]: Invalid user storm from 192.168.1.11
localhost sshd[443]: input_userauth_request: invalid user storm [preauth]
localhost sshd[698]: Connection closed by 192.168.1.11 [preauth]

パスワードは許可されていません:

PasswordAuthentication no

ssh -v root@ipおよびssh -v storm@ipは、AllowUsers stormで同じ出力を提供します。

OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.1.33 [192.168.1.33] port XXXX.
debug1: Connection established.
debug1: identity file /home/storm/.ssh/id_rsa type -1
debug1: identity file /home/storm/.ssh/id_rsa-cert type -1
debug1: identity file /home/storm/.ssh/id_dsa type -1
debug1: identity file /home/storm/.ssh/id_dsa-cert type -1
debug1: identity file /home/storm/.ssh/id_ecdsa type 3
debug1: identity file /home/storm/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/storm/.ssh/id_ed25519 type -1
debug1: identity file /home/storm/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.3
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.1
debug1: match: OpenSSH_7.1 pat OpenSSH* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server Host key: ECDSA XX:XX:XX:XX:XX:XX:XX:XX
debug1: Host '[192.168.1.33]:XXXX' is known and matches the ECDSA Host key.
debug1: Found key in /home/storm/.ssh/known_hosts:1
debug1: ssh_ecdsa_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
debug1: Next authentication method: publickey
debug1: Trying private key: /home/storm/.ssh/id_rsa
debug1: Trying private key: /home/storm/.ssh/id_dsa
debug1: Offering ECDSA public key: /home/storm/.ssh/id_ecdsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/storm/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

EDIT2:

drwx------  2 root root 4096 19 sept. 15:47 .ssh
-r-------- 1 root root  236 19 sept. 15:47 authorized_keys

EDIT3:

今働いています! Brandon Xavierに感謝します。私は、各ユーザー(サーバー側)が自分の.sshディレクトリを持っている必要があることを理解していません。


しかし、今は嵐としてログインできます(これは私が望んでいたものです)が、直接ルートとしてはもうできません。

両方のrootstormには.sshディレクトリ、authorized_keysファイルがあり、正しい所有者/権限と各authorized_keysファイルの同じ公開鍵が含まれています。 SSHD構成ファイルには常にMatchブロックが含まれます。 rootアクセスをブロックできるものは何ですか?

3
Storm

.sshおよびその下にあるすべてのものはユーザー(この場合は「ストーム」)が所有する必要があり、ユーザーのみが許可を持つ必要があります。 chown -R storm ~storm/.ssh; chmod 700 ~storm/.ssh;chmod 600 ~storm/.ssh/authorized_keysトリックを行う必要があります。

Ifコンソールにログインできるユーザーを制御できるので、MatchブロックとAllowUsersディレクティブなしで、パスワードを無効にしてrootログインを許可するだけで回避できます。キーのみ:

PasswordAuthentication no
PermitRootLogin without-password

コンソールにアクセスできる間、これを必ずテストしてください。 。 。念のため。

3
Brandon Xavier

設定ファイルの「PaswordAuthentication」はどうですか?設定を変更した場合は、サービスを再起動してください

リンク: https://wiki.centos.org/HowTos/Network/SecuringSSHhttps://raymii.org/s/tutorials/Limit_access_to_openssh_features_with_the_Match_keyword.html

2
ser99.sh

私は同じ問題を抱えています。チェック後/etc/passwd myuser Shell configが/bin:falseに設定されているのがわかります

$ cat /etc/passwd
myuser:x:112:116::/media/sys:/bin/false

これをusermod myuser -s /bin/bashで修正する必要があります。その後、次のようにします。

$ cat /etc/passwd
myuser:x:112:116::/media/sys:/bin/bash

出来上がり、それは今うまく機能しています:)

0
Vincent Garcies