スタイルと同様にAWS EC2
、クライアント公開鍵をサーバーにアップロードするのではなく、人々がサーバーの秘密鍵(PEM?)を介して自分のサーバーにSSHでアクセスするようにどのように設定しますか?
アイデアは、サーバーの秘密鍵(.pem?)をクライアントと共有し、その鍵を持つ人は誰でもSSHを介してすぐにサーバーにアクセスできるようにすることです。これにより、(サーバー管理者として)新しいクライアントユーザー/マシンが表示されるたびにオーバーヘッドは発生しません。
これは、そのキーがある限り、新しいクライアントでも「すべての」クライアントシステムからサーバーに接続できることを意味します。(これにより、鍵と任意のコンピュータがあれば、特定のラップトップを持たずに休暇に行くことができます。 :D)
この(AWSに似た)方法を実装する方法は?
答え1
誰も秘密鍵を共有しません。 @SatōKatsuraが述べたように、クライアント証明書認証を参照しています。すべてのユーザーの公開鍵に署名するCA、ドメインなどがあります。
これはAmazonの説明:
キーペアの生成
Amazon EC2を使用してキーペアを作成できます。詳細については、Amazon EC2 を使用したキーペアの作成を参照してください。
または、サードパーティのツールを使用してパブリックキーを Amazon EC2 にインポートすることもできます。詳細については、独自の公開キーを Amazon EC2 にインポートするを参照してください。
すべての秘密鍵は常に秘密のままです。
付録:
SSHクライアント証明書認証を設定する方法についての議論は、ここで扱うのはおそらく複雑すぎるでしょう。しかし、Red Hatには非常に詳細な説明があります。ここ
必要に応じて全体のプロセスを要約しましょう。
答え2
これは非対称暗号化(公開鍵暗号化とも呼ばれる)の基本概念に違反するため、RSA鍵(RSA =非対称暗号化)は使用できません。
単に(非常に長い)パスワードを使用するとどうなりますか?これは同じ効果を得るでしょう。
他の認証方法を確認することもできますが、ssh
RSAより安全性の低い作業を行う理由はありません。