ユーザーのAuthorized_keysに公開SSHキーを追加します。

ユーザーのAuthorized_keysに公開SSHキーを追加します。

Arch Linuxを実行しているサーバーの問題を解決する必要があります。他の開発者が私にルートアクセス用のキーを含む電子メールを送信し、次の内容を書きました。 「rootとしてログインして公開SSHキーをアップロードしたら、ユーザーxxxの認証キーに追加する必要があります。」

彼はノードアプリケーションを実行するユーザーを作成しました。authorized_keysそのユーザーとしてSSHを実行できるように、アプリケーションの実行に使用するユーザーに追加する必要がある公開鍵ファイルがあります。

私の問題は、これを行うコマンドがわからないということです。私のローカルコンピュータのファイルを使ってこれを行う方法を知りたいです。あるいは、ルートディレクトリからauthenticate_keysをコピーするだけです。

答え1

キーをに送信して/tmpに接続しますauthorized_keys
次のコマンドでおよびを置き換えますSERVERUSER

scp ~/.ssh/id_rsa.pub root@SERVER:/tmp/id_andre_luiz
ssh root@SERVER
cat /tmp/id_andre_luiz >> ~/.ssh/authorized_keys

ファイルを上書きするのではなくファイルに追加するには>>(単一ではない)使用に注意してください。>authorized_keys

答え2

私はこうする:

cat <your_public_key_file> >> ~/.ssh/authorized_keys

double>がなければ、Authorized_keysの既存の内容を上書きするので(破棄されます!)これはおそらく望ましくないでしょう。

答え3

ヘルパーはユーザーが要求した操作を正確に行い、ウェルカムボーナスとしてディレクトリとssh-copy-idファイルが存在しない場合は作成および保護し、存在する場合は既存のファイルにキーを追加します。~/.ssh/authorized_keys

より良いことは、キーがすでに存在していることを確認し、重複からユーザーを保護することです。

shadur@periapsis:~$ ssh-copy-id -i .ssh/id_ed25519.pub luminosity
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_ed25519.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.
        (if you think this is a mistake, you may want to use -f option)

このヘルパーは、sshを介してターゲットシステムにアクセスでき、追加したい公開鍵があるすべての場所で実行されます。実際にこれを行うことを望むどこでも可能です。

関連情報