[解決済み] known_hostsには実際に何が入っているのですか?[クローズド]
質問
を持たなかった。
.ssh
を実行するまで
これで.sshディレクトリが作成され、1つのファイルが作成されました。
known_hosts
.
こんなテキストが入っていました。
foo.com,107.180.00.00 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuJfqSnraBz//Ux4j/hZpLv2eYUxNUgCk+9ClqoSgfcu4vXbWtUGSjo75UVQf+uguOeBnRLppJJ3mt0R5c/PPcawUGWfffk33t+biYcqra9xUcyfiGtO/Icko2L1J0EYTXM/8x8VK6UYFMfad2gltnZRa8Am50oHTXot1Df0RljUBxvh/UhmTJUrODpyrl2xY1OMWjM+S6uYCMNeSQGEpNfsWiCIStRnctMZSxiYJOLTSC4F2GF7B8pYFBn5rSwVHp17WCdO+4BZfwvH3HSSH8IWoyFhki+NlG912SEBJXcryvc0JPfAB9DTB4mRImjgrRT8vz5QeaCDrh8k4/A+U1fff
これは、何らかの方法で私のサーバーから公開鍵または秘密鍵を抜き取ったのではないかと思ったのですが、そうではありませんでした。
これは何ですか?何に使うのですか?
私はsshとその仕組みについてもっと学びたいと思っているところです。 例えば、今回のケースでは、ローカルマシンに秘密鍵をセットアップしていなかったので、予想通りパスワードの入力を要求されました。
研究内容
によると、サーバーの公開鍵であると思われます。
解決方法は?
上記の回答やコメントについて補足します。 sshセッションには4つの構成要素があります。
- 暗号化(セッションごとに鍵交換した後に得られる共通鍵)
- データの完全性(SHA、HMACなどを用いたMAC)
- 鍵交換方法
- 公開鍵方式またはホスト鍵方式
SSHアルゴリズムネゴシエーションには、鍵交換ステートマシン このメッセージは、アルゴリズムリストとともに SSH_MSG_KEXINIT メッセージが送信されたときに開始されます。
鍵交換方式、または単にkexは、暗号化用のセッションキーとホスト認証用のホスト公開鍵(
ssh-rsa
,
ssh-dss
...)がクライアントに送信されます。以下のステップは、Diffie hellman 鍵交換アルゴリズムを使用した kex の基本的なステップです。
RFCの引用 https://www.rfc-editor.org/rfc/rfc4253
<ブロッククオート以下の手順で鍵の交換を行います。 この中で、Cは クライアント、Sはサーバー、pは安全な大きな素数、gは生成子 GF(p)の部分群、qはその部分群の次数、V_SはSの の識別文字列、V_C は C の識別文字列、K_S は S の 公開ホスト鍵;I_C は C の SSH_MSG_KEXINIT メッセージ、I_S は S の この部分の前に交換されたSSH_MSG_KEXINITメッセージ。 が開始されます。
<ブロッククオート- C は乱数 x (1 < x < q) を生成し、次の計算を行う。 e = g^x mod p. CはeをSに送信する。
- Sは乱数y(0 < y < q)を生成し、以下を計算する。 f = g^y mod p. Sはeを受け取り、K = e^y mod p.を計算する。 H = hash(V_C || V_S || I_C || I_S || K_S || e || f || K)である。 (これらの要素はその型に従って符号化される。) と、そのホスト鍵の秘密鍵でHに署名sを行う。 Sが送る (K_S || f || s)をCに送信する。 第二のハッシュ化操作。
- Cは、K_Sが本当にSのホスト鍵であることを検証する(例えば、以下を使用する)。 証明書またはローカルデータベース)。 Cはまた、以下を受け入れることができます。 しかし、そうすると、鍵の検証を行わずに プロトコルはアクティブな攻撃に対して安全ではありません。 多くの環境では、短期的には実用的な理由である)。 次にCは は、K = f^x mod p、H = hash(V_C || V_S || I_C || I_S || K_S)を計算します。 || e || f || K)、そしてH上の署名sを検証する。
あるシステムでは、ステップ3で述べたローカルデータベースは、.ssh/known_hostsファイルである可能性があります。 つまり、公開鍵は鍵交換の際にホストからクライアントに送信されます。
<ブロッククオート現在、以下の公開鍵・証明書フォーマットが定義されています。
ssh-dss REQUIRED sign 生のDSSキー
<ブロッククオートssh-rsa RSA 生の鍵に署名することを推奨します。
<ブロッククオートpgp-sign-rsa オプション OpenPGP 証明書 (RSA キー) に署名します。
<ブロッククオートpgp-sign-dss OPTIONAL OpenPGP 証明書 (DSS キー) に署名する。
関連
-
[解決済み] Putty: Server refused our key Errorを取得する。
-
[解決済み] Putty: Server refused our key Errorを取得する。
-
[解決済み] PPKファイルからPEMを作成する [重複]。
-
[解決済み] ファイアウォール内のサーバーにSSH接続する
-
[解決済み] SSHキー - まだパスワードとパスフレーズを要求される
-
[解決済み] SSHキーです。"パーミッション 0644 for 'id_rsa.pub' is too open." on mac
-
[解決済み】SublimeをSSHで使用する方法
-
[解決済み】SSH-PK-Authenticationで後で使用するためにPKCS12ファイルから公開鍵/秘密鍵を抽出する。
-
[解決済み】BitbucketのGit。公開SSHキーをアップロードしても、常にパスワードを要求される
-
[解決済み】「sign_and_send_pubkey: signing failed: agent refused operation」を解決する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Putty: Server refused our key Errorを取得する。
-
[解決済み] PPKファイルからPEMを作成する [重複]。
-
[解決済み] ファイアウォール内のサーバーにSSH接続する
-
[解決済み】Windows 10でssh-agentの起動に失敗する。"unable to start ssh-agent service, error :1058" (ssh-agentサービスを開始できません、エラー:1058)。
-
[解決済み】GitHubの複数アカウントとSSH設定
-
[解決済み】SSHリモートコマンドを手動で実行すると、なぜ環境変数が少なくなるのか?[クローズド]
-
[解決済み】SublimeをSSHで使用する方法
-
[解決済み】Amazon EC2インスタンスにSSH接続しようとすると、「警告:保護されていないプライベートキーファイルがあります!」と表示される。
-
[解決済み】ansibleのSSH認証チェックを無視する方法は?
-
[解決済み】「sign_and_send_pubkey: signing failed: agent refused operation」を解決する方法は?