web-dev-qa-db-ja.com

sshdは一致していても公開鍵を拒否しますか?

SynologyでDSM6に同梱されているOpenSSH6.8をサーバーとして使用していますNASサーバーとして、ArchNotebookでOpenSSH7.3p1をクライアントとして使用しています。デフォルトユーザーとしてログインできますadminパスワード経由ですが、キー経由ではなく、理由がわかりません。

奇妙なことに、サーバーは私の公開鍵を受け入れているようですが、それでも延期しますか?

...
debug1: userauth-request for user admin service ssh-connection method publickey [preauth]
debug1: attempt 1 failures 0 [preauth]
debug1: test whether pkalg/pkblob are acceptable [preauth]
debug1: temporarily_use_uid: 1024/100 (e=0/0)
debug1: trying public key file /var/services/homes/admin/.ssh/authorized_keys
debug1: fd 5 clearing O_NONBLOCK
debug1: matching key found: file /var/services/homes/admin/.ssh/authorized_keys, line 1 RSA SHA256:Kq+mYIESxPced3WZ0/GXkKeYxzn5ALi8P0S8MoVPll4
debug1: restore_uid: 0/0
Postponed publickey for admin from <client IP> port 43226 ssh2 [preauth]
...

私はすでに両方のマシンとsshdの再起動を数回試しましたが、ユーザー管理者のホームフォルダとそれは.sshディレクトリ。しかし、それは問題ではないようです。ここで何が問題なのですか?

どんなアイデアでも大歓迎です!前もって感謝します、
ルーカス

編集:クライアントは、キーをプローブした後、「エージェントが操作を拒否しました」と言います。

debug1: Offering RSA public key: /home/client/.ssh/id_rsa
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: fp SHA256:Kq+m***
debug3: sign_and_send_pubkey: RSA SHA256:Kq+m***
sign_and_send_pubkey: signing failed: agent refused operation

さらに、詳細なクライアントセッションとサーバーセッションの両方の完全な出力をアップロードしました ここ

2
LukeLR

これはおそらく、サーバーのキーファイルのアクセス許可に関する問題です。 .sshフォルダー、その中のファイル、および.sshフォルダーが含まれるホームディレクトリに制限付きのアクセス許可があることを確認してください。 OpenSSHサーバーは、これらのアクセス許可が許容範囲を超えている場合、キー操作を拒否します。つまり、700を超えるものは拒否されることがよくあります。

OpenSSHサーバーは、アクセス許可が正しくない場合に警告を出力しますが、デバッグレベル3としてのみ表示されるため、通常の出力または通常のデバッグモードでは表示されません。さらに、許可の警告は、誰かが接続しようとするとすぐに表示されます。 sshd -D -ddd -eを実行して、第3レベルのデバッグを有効にし、OpenSSHがキーファイルのアクセス許可について警告を出力するようにします。 OpenSSHサーバーが実行されている場合に備えて、実行する前に必ず停止してください。

その後、OpenSSHサーバーは着信接続を待機しますが、バックグラウンドに分岐しないため、すべての出力はstdoutに出力されます。したがって、クライアントの1つからSSH接続を確立しようとしているときに、OpenSSHサーバーを監視できます。ログインしようとするとすぐにアクセス許可の警告が表示される場合は、次のコマンドを試してアクセス許可を修正してください。

chmod 700 ~
chmod 700 -R ~/.ssh

ここで、~は、ssh経由でアクセスするユーザーのホームディレクトリです。

その後、OpenSSHサーバーを再起動し、問題が修正されるかどうかを確認します:)

1
LukeLR
debug1: Server accepts key: pkalg ssh-rsa blen 279

これは、キーを照合するためのテストです。

sign_and_send_pubkey: signing failed: agent refused operation

アクセスするには、秘密鍵の所持を証明する必要があります。これはssh-agent失敗したため、拒否されます。

あなたは何ですか ssh-agentそしてそれはどこでその鍵を取りますか?

0
Jakuje