公開/秘密鍵設定がありますが、どこに配置するのかわかりません。~/.ssh/
私のユーザーのためにこれら2つのファイルを配置する必要がありますか?
答え1
秘密鍵は家に残してください。公開鍵の伝播:
- 秘密鍵を
~/.ssh
(localhost)に入れます。一般的です~/.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]