GNU/Linux >> Linux の 問題 >  >> Linux

公開鍵をknown_hostsファイルに追加

これが私がやった方法です。

<オール>
  • ホスト サーバーでキーを生成します。以下のコマンドを使用します。
  • *ssh-keyscan -t rsa フル サーバー名

    1. 強調表示されたセクション (画像内) をコピーし、このキーをソース サーバーの「known_host」ファイルに追加します。もちろん、このファイルの場所は環境によって異なる場合があります。

    数日前に SuperUser でほぼ同様の回答をしました。重要な部分:

    • 形式が異なります
    • サーバーごとに異なるホスト キー (タイプ) があります (実際に使用されるものを必ず貼り付けてください)
    • ssh-keyscan があります フォーマットを作成できます

    それ以外の場合は、キーの前にサーバーの IP アドレスを付けて (カンマの後にホスト名を追加することもできます)、行末からコメントを削除すれば問題ありません。フォーマットは次のようになります:

    11.22.33.44 ssh-rsa AADGD...
    

    HashKnownHosts yes を使用する場合は、もう 1 つ注意してください。 (Debian と Ubuntu はそうです)、known_hosts を再ハッシュする必要があります など:

    ssh-keygen -Hf ~/.ssh/known_hosts
    

    この問題にぶつかったばかりなので、私は次のようにアプローチしました:

    時間の経過とともに、

    を介してファイルを機械的にコピーします。
    ssh-keyscan server-name >> ~/.ssh/known_hosts
    

    .ssh/known_hosts に重複したエントリが表示されました。

    他の手動の方法では、.ssh を作成する必要がありました ディレクトリがまだ存在していなかった、など

    ssh だけにすることにしました それを処理します:

    ssh -o StrictHostKeyChecking=no server-name ls
    

    -o StrictHostKeyChecking=no オプションは自動的に「はい」と答えます

    The authenticity of host 'server-name (12.345.678.900)' can't be established.
    RSA key fingerprint is XXXXXXX.
    Are you sure you want to continue connecting (yes/no)?
    

    メッセージ (知らないマシンへのランダムな接続に関するすべてのセキュリティ警告をここに挿入します)。

    ls コマンドは、実行され、完了時に SSH を強制的に切断する綿毛コマンドです。好きな毛羽立ちコマンドに変更できます。

    .ssh の作成は ssh が処理します。 dir (必要な場合)、キーのコピーを 1 つだけ追加するなど。

    プラットフォーム:macOS 10.14


    Linux
    1. コマンドラインでのSSHファイルコピーの魔法

    2. Ssh –スクリプトにパスワードを渡す?

    3. ~/.ssh/known_hosts ファイルの問題のあるキーを修正する方法

    1. 公開鍵を使用してopensslで大きなファイルを暗号化する方法

    2. SSH - ~/.ssh/config ファイルに -t コマンドを含める方法

    3. UsePAM が no に設定されていると、SSH 公開鍵認証が失敗する

    1. Ssh –公開鍵認証を使用したSshでパスワードプロンプトを引き続き取得しますか?

    2. Ssh –プライベートSshキーが与えられた場合、公開キーを回復するにはどうすればよいですか?

    3. Sshは公開鍵を受け入れませんか?