CentOS 6サーバーがあり、秘密鍵で接続したい。
Windowsでは、PuTTY Keygenを使用して、公開キーをサーバーに貼り付けます.ssh/authorized_keys2
(これも試しましたがauthorized_keys
、なぜ使用しているのか思い出せませんauthorized_keys2
)。
次に、秘密キー「name.ppk」を保存し、PuTTY(およびページェント)で使用します。そこまではすべて大丈夫です。接続に成功しました。
別のLinuxシステムから接続しようとすると問題が発生します。
puttykeygenエクスポートオプションを使用してOpenSSHキーをエクスポートし、他のLinuxシステムから使用しますが、機能しません。いつも言う
許可が拒否されました(publickey、gssapi-with-mic)
また、他のLinuxシステムからキーを作成しようとしました:
ssh-keygen -t dsa
(および-t rsa
)そして、接続したいCentOSサーバーに公開鍵を貼り付けました。両方のファイル(authorized_keys
およびauthorized_keys2
)に貼り付けようとしましたが、何も機能しません。
実際、別の実際のCentOSサーバー、PuTTYを使用して接続できる同じWindows 7上の1つのCentOS仮想サーバーと、同じWindows 7上の1つのDebian仮想サーバーから接続しようとしました。
CentOS仮想サーバーとDebian仮想サーバーは、キーを使用して相互に接続できます。
また、構成も異なります。両方の仮想サーバーにはsshd_config
デフォルトがありますが、メインのCentOS 6サーバーには、数年前に見つけた設定があります。
ここに私のCentOS 6の設定があります(コメントなし):
Port xxxx
Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin yes
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM 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
X11Forwarding yes
UseDNS no
Subsystem sftp /usr/libexec/openssh/sftp-server
ssh -v host
てみて、デバッグ出力を取得してください。さらに冗長にするために、vパラメータを複数回指定できます。/var/log/auth.logは、whatis wrongの推測にも役立ちます。
-i
。
ls -la
.sshディレクトリで実行して確認します。正しい権限については、stackoverflow.com / questions / 14664723 /…で私の答えを参照してください。