SSHを使用して接続できるように、リモートサーバーの秘密鍵をローカルコンピュータに正しくコピーするにはどうすればよいですか?

SSHを使用して接続できるように、リモートサーバーの秘密鍵をローカルコンピュータに正しくコピーするにはどうすればよいですか?

sshLinodeとSitegroundに接続し、パスワードを持つ複数のリモートサーバーがあります。以前はWindowsとPuttyを使ってリモートサーバーに接続していましたが、今は

Ubuntu 18.04を使用してopenssh-serverを設定しましたが、これを試みるとPermission Denied(Public key)エラーが発生するようです。ssh [email protected]

自分のローカルコンピュータのリモートサーバーから秘密鍵をコピーする必要があります。鍵を正確に配置する必要がある場所、接続できるように鍵を追加する方法がわかりません。

答え1

最初いいえ秘密鍵をリモートサーバーに入れます。このサーバーを損傷する人は誰でもあなたが持っているすべてのアクセス権を持っています。

これはもはや問題ではありません。 2つのオプションがあります。

  1. 新しいローカルコンピュータに新しい秘密鍵を作成します。その後、コピー人々キー(プライベートキーに付属しているか、プライベートキーから生成することができます)サーバーに。を入力した場合は、1~/.ssh/authorized_keys行に1つずつ追加するため、前の項目(または)を上書きしないでくださいuse ssh-copy-id
  2. 古いローカルコンピュータから。パテを使用して秘密鍵をopen-ssh形式でエクスポートし、新しいローカルシステム(openssh実行)にコピーするように指示します。それは~/.ssh/私のディレクトリファイルに入りますid_rsa

答え2

メモ:秘密鍵をリモートサーバーにコピーしたくないので、秘密鍵を確認できるように、鍵ペアの公開鍵をリモートサーバーに追加しようとしています。


リモートサーバーからアカウントをブートストラップするには、通常ssh-copy-idこれを使用します。

$ ssh-copy-id
Usage: /usr/bin/ssh-copy-id [-h|-?|-f|-n] [-i [identity_file]] [-p port] [[-o <ssh -o options>] ...] [user@]hostname
    -f: force mode -- copy keys without trying to check if they are already installed
    -n: dry run    -- no keys are actually copied
    -h|-?: print this help

使用法

$ ssh-copy-id -i /path/to/id_rsa.pub <user>@<server>

はい

$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
/usr/local/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/user1/.ssh/id_rsa.pub"
/usr/local/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/local/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

メモ:複数のサーバーでこれを行う必要がある場合は、私のQ&Aタイトルをご覧ください。パスワードを繰り返し入力せずにSSH公開鍵をサーバーリストに伝播するにはどうすればよいですか?

関連情報