このコマンドを使用していますが、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
デフォルトでは、ローカルkeyfile
(identity
または公開鍵)をリモートサーバーにコピーするので、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行の間にあります。