公開鍵と秘密鍵を設定しましたが、どこに保存すればよいかわかりません。~/.ssh/
ユーザー用にこれらのファイルを両方とも保存する必要がありますか?
答え1
秘密鍵は自宅に保管されます。公開鍵は移動します。
- 秘密鍵を
~/.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
もちろん、キーを正しく配置すれば、パスワードは不要になります。
$ ssh user@remotehost
~/.ssh/config
さらに簡単にするために、SSH 構成を追加することもできます。
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]