要約

要約

新しいエディタ:

だから私は戻っていくつかの深刻なテストを実行し、問題に関する私の見解を少し修正しました。

まず、完全でわかりやすいSSHハンドシェイク図へのリンクは次のとおりです(同じページに移動するため)。SSHキーの説明

そのため、作業中の2つのCentos7システムで、ユーザーの.sshフォルダとルートディレクトリをクリーンアップしました。コントローラは仮想マシンで、サーバーは金属です。

関心のあるSSHD_Config値は次のとおりです。

#Port22, Protocol 2, PermitRootLogin yes, #StrictModes yes, 
PubKeyAuthentication yes, AuthorizedKeysFile .ssh/authorized_keys,
AllowUsers root me_meaning_me, PasswordAuthentication yes (only to allow ssh-copy-id operations to start), #PasswordAuthentication no, 
#ChallengeResponseAuthentication yes, ChallengeResponseAuthentication no,
ClientAliveTime 120, ClientAliveCountMax 720 for tripleo openstack timeout
UsePAM yes, GSSAPI yes

開始:〜/ .ssh /場所、ユーザー、rootユーザー、ローカル、またはサーバーにファイルまたはフォルダがありません。

  1. ssh me@server- パスワードが承認されました - 最終ステータス:新しいローカルKnown_hostsの新しいサーバー指紋。
  2. ssh-keygen me@server- 顕著な結果なし - 最終ステータスid_rsaプライベート、ローカルid_rsa.pubファイル~/ssh/
  3. ssh-copy-id me@server- 目立つ結果はありません。 - 最終状態:rsa-shawサーバー上の私の~/.ssh/authorized_keys名前はですme@server
  4. me@serverSSHを介してサーバーに接続できますが、サーバー側のパスワードを提供する必要があります。
  5. ssh-keygen -f root-key root@server- 目に見える結果なし - 最終状態:ローカルmeのroot-key rsa秘密鍵とroot-key.pub公開鍵~/.ssh/
  6. ssh-copy-id -i ~/.ssh/root-key.pub root@server- 鍵と root@server に対する一部の応答は、サーバー側の秘密を提供する必要があります。
  7. サーバー側の編集/etc/ssh/sshd_config-#PasswordAuthentication yesとに変更しますPasswordAuthentication no
  8. ssh me@server成功し、パスワードは必要ありません。
  9. ssh root@serverPublicKey、GSSAPI エラーのため失敗しました。
  10. 多くの値を変更しようとしましたが、すべて再取得sshd_configしました。
  11. kvmスイッチを使用してサーバーにログインし、ルート~/.ssh/authorized_keysファイルを確認します。ファイルの単一キーは、me@server用に生成されたキーと同じです。
  12. 彼らはssh-keygen -f root-key root@sever同じキーを生成し、me@serverIDを追加しました。
  13. ssh-copy-id -i root-key.pub root@serverme @ serverのキーと同じキーをルートファイルに移動します~/.ssh/authorized_keys

この問題の元の名前は、これらの手順を数時間かけて複数回実行し、常に同じ結果を得ることに基づいています。

今、私たちはどう思いますか?

ベストアンサー1

あなたの質問を正しく読んでいるなら、あなたのMacにサーバーと一致するユーザー名(ルートを含む)がないという事実に問題があるようです。

実際にログインしたりサーバーへのアクセスを設定したりするときは、クライアントで一致するユーザー名を使用する必要はありません。ユーザー名を指定しないと、SSHクライアントは現在のユーザー名を使用しますが、次のことができます。いつも次のフォームを使用するには、別のユーザー名を指定してください。user@remote_host

このコマンドを使用していると言われましたssh-copy-id。コマンドラインでを入力すると、関連するユーザーマニュアルページが表示されますman ssh-copy-id。ちなみに、以下が表示されるはずです。https://linux.die.net/man/1/ssh-copy-id

要約

ssh-copy-id [-i [identity_file]] [user@]machine

それはあなたから来ました。定期的なMacユーザーは次のように電話をかけることができます。

ssh-copy-id root@remote-server

または、インストールする公開鍵を指定できます。たとえば、

ssh-copy-id -i ~/.ssh/id_rsa.pub root@remote-host

おすすめ記事