web-dev-qa-db-ja.com

他のユーザーのssh-copy-idを介して公開鍵をインストールする

ssh-copy-idを使用して、公開鍵をリモートマシンのauthorized_keysにインストールできます。 Sudo機能がある場合、同じコマンドを使用して他のユーザーの公開鍵をインストールできますか?

更新:ローカルとリモートの両方がUbuntu 12.04を使用しています。

更新2:新しいユーザーアカウントを作成して公開鍵を追加する手順を説明する

  1. (リモート)新しいユーザーアカウントを作成し、ユーザーの公開キーアクセスのみに設定します。
  2. (ローカル)新しいユーザーアカウント(ssh-keygen)の公開鍵を生成します。
  3. 通常、私はリモートサーバーにディレクトリとファイル.ssh/authorized_keysを作成し、ローカルで生成された公開鍵をコピーして新しいユーザーのアカウントに貼り付けます。私が探しているのは、ssh-copy-idを使用して、この新しく作成されたユーザーの公開鍵を直接sshディレクトリにインストールできるかどうかです。いくつかのコマンドを保存するだけです。
26
realguess

同じコマンドではありませんが、リモートホストにSudoがある場合は、sshを使用してリモートで必要な手順を実行できます。次のコマンドを使用して、sshキーをラズベリーのルートユーザーにプッシュします。

cat ~/.ssh/id_rsa.pub | \
  ssh [email protected] \
  "Sudo mkdir /root/.ssh; Sudo tee -a /root/.ssh/authorized_keys"
  • 猫私の公開鍵
  • パイプでsshに
  • sshはsshユーザーとしてラズベリーに接続します
  • リモートではSudoを使用して/root/.sshを作成します
  • 次に、 "tee -a"を指定したSudoを使用して、stdin(最初の猫のキーを保持)を/root/.ssh/authorized_keysに追加します。

これをスクリプトとしてまとめ、リモート側にchmod/chownを追加すれば、必要なものが手に入ります。

12
Michael Wyraz

はい:)、たとえば、あなたがghost @ ubuntuとしてログインしていて、

ssh-copy-id root@Host-ip

ご覧のとおり、ホストサーバーでは/root/.ssh/authorized_keysで終わるghost@ubuntuファイルキーになっています。
これは、ゴーストユーザーがキーペアをコピーし、パスワードを入力する必要がなくなったことを意味します。
これが-u <username>フラグで機能するかどうかはわかりませんが、いつでも別のユーザーとしてログインできます

su <user_name> 

そして、ssh-copy-id ...

0
mirkobrankovic