ssh-copy-id
は、リモートマシンのauthorized_keys
に自分の公開鍵をインストールするために使うことができます。sudo
の能力があれば、他のユーザの公開鍵をインストールするのにも同じコマンドを使うことができますか?
更新:ローカル、リモートともにUbuntu 12.04を使用しています
更新2:新規ユーザーアカウントの作成と公開鍵の追加の手順を記載しました
- (リモート) 新しいユーザーアカウントを作成し、ユーザー公開鍵アクセスのみに設定します
- (ローカル) 新しいユーザアカウントの公開鍵を生成します (ssh-keygen)
- 通常は、リモートサーバ上にディレクトリとファイル
.ssh/authorized_keys
を作成し、ローカルで生成された公開鍵を新しいユーザのアカウントにコピー&ペーストします。私が探しているのは、ssh-copy-id
を使って、新しく作成したユーザの公開鍵を直接sshディレクトリにインストールできるかどうかということです。あといくつかのコマンドを保存するだけです
34 None 2013-06-03
ベストアンサー
同じコマンドではありませんが、リモートホストに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 (最初の cat の鍵を保持している) を /root/.ssh/authorized_keys に追加します
これをスクリプトとしてまとめて、リモート側で chmod/chown を追加すれば、必要なものが手に入ります
17 Michael Wyraz 2015-09-25