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ディレクトリを持っている必要があることを理解していません。
しかし、今は嵐としてログインできます(これは私が望んでいたものです)が、直接ルートとしてはもうできません。
両方のroot
とstorm
には.sshディレクトリ、authorized_keys
ファイルがあり、正しい所有者/権限と各authorized_keys
ファイルの同じ公開鍵が含まれています。 SSHD構成ファイルには常にMatch
ブロックが含まれます。 rootアクセスをブロックできるものは何ですか?
.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
コンソールにアクセスできる間、これを必ずテストしてください。 。 。念のため。
設定ファイルの「PaswordAuthentication」はどうですか?設定を変更した場合は、サービスを再起動してください
リンク: https://wiki.centos.org/HowTos/Network/SecuringSSHhttps://raymii.org/s/tutorials/Limit_access_to_openssh_features_with_the_Match_keyword.html
私は同じ問題を抱えています。チェック後/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
出来上がり、それは今うまく機能しています:)