
新しいエディタ:
だから私は戻っていくつかの深刻なテストを実行し、問題に関する私の見解を少し修正しました。
まず、完全でわかりやすい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ユーザー、ローカル、またはサーバーにファイルまたはフォルダがありません。
ssh me@server
- パスワードが承認されました - 最終ステータス:新しいローカルKnown_hostsの新しいサーバー指紋。ssh-keygen me@server
- 顕著な結果なし - 最終ステータスid_rsaプライベート、ローカルid_rsa.pubファイル~/ssh/
。ssh-copy-id me@server
- 目立つ結果はありません。 - 最終状態:rsa-shaw
サーバー上の私の~/.ssh/authorized_keys
名前はですme@server
。me@server
SSHを介してサーバーに接続できますが、サーバー側のパスワードを提供する必要があります。ssh-keygen -f root-key root@server
- 目に見える結果なし - 最終状態:ローカルmeのroot-key rsa秘密鍵とroot-key.pub公開鍵~/.ssh/
。ssh-copy-id -i ~/.ssh/root-key.pub root@server
- 鍵と root@server に対する一部の応答は、サーバー側の秘密を提供する必要があります。- サーバー側の編集
/etc/ssh/sshd_config
-#PasswordAuthentication yes
とに変更しますPasswordAuthentication no
。 ssh me@server
成功し、パスワードは必要ありません。ssh root@server
PublicKey、GSSAPI エラーのため失敗しました。- 多くの値を変更しようとしましたが、すべて再取得
sshd_config
しました。 - kvmスイッチを使用してサーバーにログインし、ルート
~/.ssh/authorized_keys
ファイルを確認します。ファイルの単一キーは、me@server用に生成されたキーと同じです。 - 彼らは
ssh-keygen -f root-key root@sever
同じキーを生成し、me@server
IDを追加しました。 ssh-copy-id -i root-key.pub root@server
me @ 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