認証用の追加キーペアの追加

認証用の追加キーペアの追加

サーバーにログインできる追加のホストには新しいキーペアが必要です(ただし、セキュリティ上の理由から既存のキーペアを共有することはできません)。

サーバーでssh-keygen -t rsa -f newkey.key正常に動作する新しいペアを作成し、そのキーをクライアントにコピーしてログインを使用しようとしましたが、ssh user@server -i newkey.keyログインできません。代わりに、次のメッセージが表示されます。

$ ssh user@server -i newkey.key
Warning: Permanently added 'server' (ECDSA) to list ofknown hosts.
Permission denied (publickey).
$

なぜこれが起こり、どのように機能させることができますか?newkey.key権限はに設定されます400

ベストアンサー1

人々がキーベースの認証を設定しようとしたときに見られる最も一般的な問題の1つは、キーペアの公開部分をファイルに追加することを忘れてしまったことですauthorized_keys

server.example.com公開/秘密鍵ペアを作成するとき -

user@server:~/ $ ssh-keygen -t rsa -f newkey.key

適切にパスワードを設定(または設定しない)します。

次に、共通の半分をauthorized_keysファイルに入れます。

user@server:~/ $ cat ~/.ssh/newkey.key.pub >> ~/.ssh/authorized_keys

その後、キーのプライベート部分をクライアントコンピュータにコピーすることで接続できます。

user@client:~/ $ ls -1 .ssh
authorized_keys
config
newkey.key

user@client:~/ $ ssh -i ~/.ssh/newkey.key user@server

編集する@Haxielと@RubberStampの(そして私自身の)プロトコルによると、秘密鍵はアクセスに使用されるサーバーに残してはいけません。

他の選択肢がない限り、接続に使用するサーバーから秘密鍵を削除します。これはセキュリティ上の問題を避けるのが非常に簡単です。

鍵はローカルシステムで生成し、公開鍵はscpまたはssh-copy-idを介してリモートシステムにコピーする必要があります。後者のオプションは、公開鍵がリモートの ~/.ssh に正しく配置されることを保証するので、好まれる。 /authorized_keys ファイルとファイルに対する適切な権限

おすすめ記事