web-dev-qa-db-ja.com

sshはキーの認証を拒否します

そこで、自分のマシン[Fedora 17]と、CentOS5を実行しているVirtualBoxで実行されている仮想マシンとの間に接続をセットアップしています。CentOSのリポジトリからopensshをインストールし、次のようにすべてを構成しました。

Protocol 2

HostKey /etc/ssh/ssh_Host_rsa_key
HostKey /etc/ssh/ssh_Host_dsa_key

SyslogFacility AUTHPRIV

PermitRootLogin yes

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  /home/pigreco/.ssh/authorized_keys

PasswordAuthentication no

ChallengeResponseAuthentication yes

GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

UsePAM yes

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

X11Forwarding yes

Subsystem   sftp    /usr/libexec/openssh/sftp-server

これは、サーバー、つまりCentOS上の構成ファイルsshd_configです。さらに、OSのホームディレクトリ(Fedora)の.ssh /フォルダーに通常どおり公開鍵と秘密鍵のペアを作成し、scpを使用してid_rsa.pubをサーバーにコピーし、それを追加しました。サーバーマシン上のファイル.ssh/authorized_keysへのコンテンツ。

私が得るエラーは次のとおりです。

OpenSSH_5.9p1, OpenSSL 1.0.0j-fips 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 50: Applying options for *
debug1: Connecting to 192.168.100.13 [192.168.100.13] port 22.
debug1: Connection established.
debug1: identity file /home/mayhem/.ssh/identity type -1
debug1: identity file /home/mayhem/.ssh/identity-cert type -1
debug1: identity file /home/mayhem/.ssh/id_rsa type 1
debug1: identity file /home/mayhem/.ssh/id_rsa-cert type -1
debug1: identity file /home/mayhem/.ssh/id_dsa type -1
debug1: identity file /home/mayhem/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
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: Server Host key: RSA 16:e5:72:d1:37:94:1b:5e:3d:3a:e5:da:6f:df:0c:08
debug1: Host '192.168.100.13' is known and matches the RSA Host key.
debug1: Found key in /home/mayhem/.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: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot determine realm for numeric Host address

debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot determine realm for numeric Host address

debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot determine realm for numeric Host address

debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/mayhem/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
Agent admitted failure to sign using the key.
debug1: Trying private key: /home/mayhem/.ssh/identity
debug1: Trying private key: /home/mayhem/.ssh/id_dsa
debug1: Next authentication method: keyboard-interactive

私に何ができるかについて、良い提案がありますか?ありがとうございました

3

ssh-agentは秘密鍵を使用して通信に署名しようとしますが、失敗します。まだ行っていない場合は、ssh-addを実行して秘密鍵をエージェントに追加してみてください(引数なしで実行すると、コマンドは自動的にデフォルトの鍵ファイルを読み込もうとします)。すでにキーをロードしている場合は、export SSH_AUTH_SOCK=0を試してください。

2
Ansgar Wiechers

Authorized_keysファイルの場所をハードコーディングしている特別な理由はありますか? OpenSSHは、ファイルとその親ディレクトリのパーミッションについて非常に肛門的です。サーバーは、キーが拒否された理由もクライアントに通知しません。ログファイルをチェックして、sshdがキーを拒否する理由を確認してください。次のファイルのいずれかを確認してください:/var/log/secureまたは/var/log/auth.logサーバー上。ルートアクセスが必要になります。

1
UtahJarhead

これは私のために働いた:

restorecon -R $ user/.ssh

https://www.centos.org/forums/viewtopic.php?t=899

1
user305678