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


26

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

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

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

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

回答:


12

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

cat ~/.ssh/id_rsa.pub | \
  ssh pi@192.168.1.25 \
  "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を追加するだけで、必要なものが手に入ります。


美しく、コマンドの内訳をありがとう。
ブレイクフレデリック

1

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

ssh-copy-id root@host-ip

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

su <user_name> 

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


1
キーは/root/.ssh/authorized_keys代わりにインストールされ/home/ghost/.ssh/authorized_keysますか?新しいユーザーの公開キーをインストールするために、現在行っている手順を更新しました。より良い方法を探しています。ありがとう!
-realguess

キーは、リモートで接続するユーザーのホームにインストールされます。ssh-copy-idの-iオプションを使用して、コピーするキーを指定できますが、通常のssh-copy-idで別のディレクトリにコピーすることはできません。
user2313067

ssh-copy-id root @ host-ipよりもrootとしてログを記録したい場合、ssh-copy-id ghost @ host-ipよりもゴーストとして記録したい場合は、キーをコピーするユーザーを指定できます
mirkobrankovic

1
システムは、公開鍵によるログインのみを許可するように設定されています。ユーザーghostが新しく作成されたため、ユーザーが使用できる公開キーはありません。そのため、最初にユーザーの公開鍵をインストールする必要があり、その後ssh-copy-id ghost@host-ipは機能します。しかし、おかげで、リモートサーバーでのいくつかの追加コマンドは大した問題にはならないと思います。
-realguess

はい、最初にパブを生成する必要があります。リモートサーバへの鍵とlocalYおよびSSH-COPI-IDより
mirkobrankovic
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.