公開鍵/秘密鍵を設定していますが、どこに配置すればよいかわかりません。これらのファイルを両方ともユーザーの場合
回答
秘密鍵は家に残ります。公開鍵は移動します:
- 秘密鍵を
~/.ssh
(ローカルホスト)に配置します。通常は~/.ssh/id_rsa
になります。 - 公開鍵を
~/.ssh/authorized_keys
(リモートホスト)に配置します。
通常、最初のステップは作成時に自動的に実行されます。キー、2番目は次の方法で実行できます。
$ ssh-copy-id ~/.ssh/id_rsa.pub user@remotehost
リモートホストに関する構成が残っている場合は、これで問題が発生する可能性があります(認証に失敗する) 、または「認証の失敗が多すぎます」)。この問題を解決するには、ssh-copy-id
に次のコマンドでパスワード認証を使用させることができます。
$ ssh-copy-id -o"PubkeyAuthentication no" ~/.ssh/id_rsa.pub user@remotehost
もちろん、oキーが正しく配置されているため、パスワードは不要です。
$ ssh user@remotehost
さらに簡単にする:
Host [custom name for the remote machine] Hostname [remote hostname or IP] User [remote username] IdentityFile /home/[your local user]/.ssh/id_rsa
このおかげで、次のように入力するだけでリモートホストにログインできます:
$ ssh [custom name for the remote machine]
編集:両方のマシン(ローカルとリモート)が同じ場合は、次のようにして手順を簡略化できます。
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
これにより、公開鍵がauthorized_keys
ファイルに追加されます。もちろん、ローカルマシンに他の誰かとしてログを記録する別の方法は、次を使用することです。
$ su [another user]
これにより、SSHトランザクションが不要な場合に保存されます。 。 パスワードなしのsu
は、sudo
を使用して設定できます:
$ sudo -iu [another user]
ssh localhost
?~/.ssh/authorized_keys
内に公開鍵を持っている必要があります。これには、cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
を使用できます。回答を編集しました。-i
を追加して、コマンド全体が$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost
。