Arch Linuxを実行しているサーバーの問題を解決する必要があります。他の開発者が私にルートアクセス用のキーを含む電子メールを送信し、次の内容を書きました。 「rootとしてログインして公開SSHキーをアップロードしたら、ユーザーxxxの認証キーに追加する必要があります。」
彼はノードアプリケーションを実行するユーザーを作成しました。authorized_keys
そのユーザーとしてSSHを実行できるように、アプリケーションの実行に使用するユーザーに追加する必要がある公開鍵ファイルがあります。
私の問題は、これを行うコマンドがわからないということです。私のローカルコンピュータのファイルを使ってこれを行う方法を知りたいです。あるいは、ルートディレクトリからauthenticate_keysをコピーするだけです。
答え1
キーをに送信して/tmp
に接続しますauthorized_keys
。
次のコマンドでおよびを置き換えますSERVER
。USER
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を介してターゲットシステムにアクセスでき、追加したい公開鍵があるすべての場所で実行されます。実際にこれを行うことを望むどこでも可能です。