SSH許可は拒否されました(公開鍵)が、root sshは機能します


15

デジタルオーシャンubuntu 12.04サーバーでchefで作成したユーザーアカウントのsshアクセスを設定しようとしています。デジタルオーシャンでは、ドロップレットが作成されたときにMacのsshキーを自動的にコピーするオプションが設定されていました。

問題なくrootとしてsshできますが、他のユーザーは認証に失敗します。これは一般的な問題のようです。他の回答のいくつかを確認し、次のコマンドを使用して詳細情報を取得しました。

ssh -vvv -i id_rsa user@serverIP

そのコマンドを使用したrootユーザー(成功)のログは次のとおりです。

デバッグ

1: Offering RSA public key: /Users/evan/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: fp snip!
debug3: sign_and_send_pubkey: snip!
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).

失敗したユーザー:

デバッグ

1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/evan/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/evan/.ssh/id_dsa
debug3: no such identity: /Users/evan/.ssh/id_dsa: No such file or directory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.

これは、公開鍵が間違っていることを意味します。ただし、rootユーザーとしてログインして、home/otheraccount/.ssh/authorized_keysと、sshキーがそこにあることがわかります。エラーがあるかもしれないと思ったので、私はしましたcp .ssh/authorized_keys ~/home/otheraccout/.ssh/authorized_keysが、助けにはなりませんでした。他にどこを見ればいいのかわかりません。

俺の etc/ssh/sshd_conig

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
"sshd_config" 88L, 2508C
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile     %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

# GS

SAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding no
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60

AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM no
Banner /etc/ssh_banner

編集:

drwx------ 2 deploy deploy 4096 Apr 20 06:00 .ssh
-rw------- 1 deploy deploy 820 Apr 20 05:35 authorized_keys

編集2:

コメントで示唆されているように/var/log/authlog::

Apr 21 04:59:30 localhost sshd[586]: User deploy not allowed because account is locked
Apr 21 04:59:30 localhost sshd[586]: input_userauth_request: invalid user deploy [preauth]

私がやろうとしたがsudo usermod --expiredate -1 deploy、それは戻ったno changes


1
あなたの許可は正しいですか?許可を持っている~/home/otheraccount/.ssh必要が700あり、両方のファイルを所有する必要があります~/home/otheraccount/.ssh/authorized_keys600otheraccount
clement 14

私は彼らが正しいと思う、デプロイはその他のアカウント: drwx------ 2 deploy deploy 4096 Apr 20 06:00 .ssh -rw------- 1 deploy deploy 820 Apr 20 05:35 authorized_keys
user2936314 14

ユーザーとしてログインしようとしたときのserverIP/var/log/auth.log)のログ行は何deployですか?
クレメント14

興味深いことに、ユーザーがロックされていると文句を言うので、上記のログを追加しました。
user2936314 14

上記のコメントを編集させませんpasswd -u。これをで修正しました。deploy今のようにsshできますが、なぜ私のシェフがデプロイしてロックされたユーザーを作成しているのか本当に興味があります。上記のコメントを回答としてコピー/貼り付けて、クレジットを提供できるようにしてください
user2936314 14

回答:


16
  • SSHログインは、さまざまな理由(ディレクトリ/ファイルの不正なアクセス許可、不正なキーなど)で失敗する可能性があり、接続クライアントは単に取得Permission deniedまたはNo more authentication methods to tryまたは何らかの一般的なエラーをます。

  • ログイン失敗の正確な理由は、sshログ/var/log/auth.logまたは/var/log/securesyslog構成に応じて入手できます。


これは、私が今まで見たSSHログインの問題に関するすべての質問に対する最良の回答です!他のすべての回答が示唆するように、間違ったアクセス許可とファイル名をランダムに推測する代わりに、言及されたログを確認するだけで、必要な情報がすべて含まれています。
ヤロスラフ管理者

正確な理由は私のログファイルにはありません。セッションが閉じられているよりも開いていたというだけです。
VectorVortec

3

CentOS7の新規インストールでも同じ問題があります。

1.ホームディレクトリのパーミッションと〜/ .sshおよび〜/ .ssh / authorized_keysパーミッションを確認します(@clementが言うように)

chmod o-w ~/; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys

2. / etc / ssh / sshd_configを確認します設定とサービスsshdの再起動をます(各編集後)有用:sshd_configで「LogLevel VERBOSE」を試してください。

すべてを確認した後、パスワードプロンプトが表示されました。

-vvvログを使用してsshクライアントを実行します。

debug3: send_pubkey_test 
debug2: we sent a publickey packet, wait for reply

サーバー(/ var / log / secure)ログ:

Failed publickey for * from * port * ssh2: RSA *

sshサーバーは、セキュリティ上のリスクがあるため、クライアントにエラー情報を送信しません。

別のポート「sshd -p 5555 -d」でsshdを実行した場合。キーが機能しました。パスワードなしでログインできます。WTF?

SAD :-( selinuxを無効にして(/ etc / selinux / configでSELINUX = disabledを設定)、再起動します。パスワードなしのログインは正常に機能しました。

私の現在の作業sshd_config設定:

[root@hp-bl-05 ~]# grep -vE "^#|^$" /etc/ssh/sshd_config  
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
SyslogFacility AUTHPRIV
LogLevel VERBOSE
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
HostbasedAuthentication yes
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication no
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
UseDNS no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem   sftp    /usr/libexec/openssh/sftp-server

したがって、パスワードなしのsshログインを機能させるためにselinuxの小さなものを変更できることを知っておくとよいでしょう。誰でも答えを改善できますか?

ここにも同じ:https : //superuser.com/questions/352368/ssh-still-asks-for-password-after-setting-up-key-based-authentication/1072999#1072999

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.