ssh-copy-idの前に追加コンテンツを追加する

ssh-copy-idの前に追加コンテンツを追加する

このコマンドを使用していますが、ssh-copy-id公開鍵を追加する前に、新しい行と名前のようなものを追加したいと思います。たとえば、

new line    
#Name of the person
pub.key here ..asdadsdad

これは多くのサーバーでforループを介してスクリプトを実行するため、どのように接続できますか?今私はこれを持っています:

for i in $( cat file_servers ) do 
ssh-copy-id -i keyfile root@$i 

しかし、キーを追加する最後の行の前に新しい行と「#人の名前」を追加する方法がわかりません。

答え1

ssh-copy-idデフォルトでは、ローカルkeyfileidentityまたは公開鍵)をリモートサーバーにコピーするので、keyfile必要なものを編集して追加できます。

keyfile必要なものを編集して追加してください。

#
#名前
ssh-rsa NFユーザー名@ホスト

今これを行うと、この行ssh-copy-id -i keyfile <host>はリモートサーバーの.ssh/authorized_keys

答え2

sedを使用して、次のインライン代替エントリを追加できます。

sed -i '1s/^/\nName of person\n/' $i

これにより、ファイルの先頭の最初の行が白い行(\ n)、人名、およびキャリッジリターン(\ n)に置き換えられます。

これはスクリプトの2行の間にあります。

関連情報