web-dev-qa-db-ja.com

公開鍵SSH認証の失敗をデバッグする方法

パスワードなしのSSHログインを設定しようとしていますが、機能しないようです。これが私がこれまでにしたことです:

  1. ssh-keygen -t rsaを使用してキーのペアを生成しました
  2. サーバー上に~/.ssh/authorized_keysを作成し、そのファイルに公開鍵をダンプしました
  3. chmod 700 ~
  4. chmod 700 ~/.ssh
  5. chmod 600 ~/.ssh/authorized_keys

秘密鍵でログインしようとすると、ssh -vvvから次の出力が得られます。

debug1: Next authentication method: publickey
debug1: Trying private key: /path/to/private-key
debug1: read PEM private key done: type RSA
debug3: sign_and_send_pubkey: RSA [KEY_FINGERPRINT_HERE]
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: password,publickey
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password

サーバーがFreeBSDを実行していることは確かですが、それは私のものではなく、rootアクセス権がありません。ここで何が問題になっているのか、またはこれを機能させるために何を試みることができるのかについてのアイデアはありますか?

4
Dominic P

さて、これに対する「解決策」は、ホストに関連することになりました。サーバーはHybridClusterと呼ばれる会社によって運営されています。理由はまだ正確にはわかりませんが、サーバーで公開鍵認証を使用するには、コントロールパネルインターフェイスを介して公開鍵を追加し、not手動で~/.ssh/authorized_keysに追加する必要があります。ファイル。

ハードウェアを動的に切り替えることと関係があると思うので、ホストのフィンガープリントが変更されてキーが拒否されますが、はっきりとは言えません。

とにかく、助けてくれたすべての人に感謝します、そしてうまくいけば、これは将来的にいくつかの貧しいHybridClusterユーザーを助けるでしょう。

3
Dominic P

サーバー上のHOMEフォルダーをchmodしたのはなぜですか?それをする必要はありません、そしてそれはあなたの接続の試みを妨げるかもしれないと思います。 755に復元して、再試行してください。

2
MariusMatutiae

公開鍵をauthorized_keysファイルに入れることが問題であると私はかなり確信しています。あなたの仮定はあなたのホスティング会社がそれをAuthorizedKeyFileとして設定したということです。ルートアクセス権がある場合は、sshサーバーの設定を確認します。多くの場合、sshd_configファイル(debianでは/ etc/ssh/sshd_config)です。

想定しているデフォルト設定は次のとおりです。

AuthorizedKeysFile     %h/.ssh/authorized_keys

しかし、彼らは何か他のものを持っているかもしれません。自宅のディレクトリを探索し、隠しファイルを表示してさらに探索することができます。

ではごきげんよう!

0
Peter Jaffray