質問
AWSを利用しているのであれば、
ユーザー作成まで終えた状態のEC2インスタンスを作成して
それをテンプレート化(AMI)にしておけば良いのでは無いでしょうか。
今後EC2インスタンスを追加したいとなった時には
そのAMIを基にしてインスタンスを作成すれば、
ユーザーも公開鍵も入れ込まれた状態のインスタンスが複製できると思います。
かもめさんが言うような形でスクリプト化も可能だと思いますが
viの部分はスクリプト化は面倒なので(不可能では無いですが)
どこかダウンロード可能な場所に公開鍵を配置して、
wgetコマンドでダウンロードさせる形のほうが簡単だと思います。
AMI化ですと今後staffが増えた際に結局手動になってしまう気がするのでNGです。
今あるサーバに対してのユーザ追加を自動化したく。。
vi部分は別コマンドでもいいです。
鍵が置いてあるサーバからscpしてmv 鍵 authorizedkeysみたいな形でも問題無いです。
wgetは盲点でした。社内的に鍵を外に置いていいか不明なので協議してみます。
一つのサーバ上で順次追加、だったのですね。
的外れで失礼しました。
それであれば
EC2から鍵保管サーバーへのssh通信が可能なのが前提ですが
鍵保管サーバー → (scp) → EC2
で転送するのもありかと思います。
wgetよりはセキュリティリスクは低いかと。
これいかが?
https://qiita.com/komitomo/items/e78855fa1ccee1737ac7
Ansibleは対象サーバにインストールするわけではないです。
Ansibleサーバを別建てして、そこからsshで対象サーバにログインしてコマンド実行等を自動化する仕組みです。
そもそもsshで入れる状態になってないんですよ。という話ならcloud-initとか調べてみては?
パスワード認証をやめて、公開鍵認証にする必要がありますが、それで良ければ、IAM ユーザに OpenSSH 公開鍵を登録できるので それを使えば自動化出来ます。
質問
お世話になっております。
現在、手打ちでEC2に対してuseraddをしているのですが自動化したいと考えております。
作成時の手順は以下になります。
# useradd username
# passwd username
→ パスワードはusernameで設定し後ほど各自に変更してもらう
# usermod -aG wheel username
# su - username
$ mkdir .ssh
$ cd .ssh
$ vi authorizedkeys
→ 別サーバに配置してある公開鍵を貼り付ける
$ cd ..
$ chmod 600 .ssh/authorizedkeys
$ chmod 700 .ssh
数が増えてきており手間になってきたので自動化したく、皆様の知恵をお借りしたいと思っております。
下記のような構成でローカルPCからEC2に対してコマンドを発行し
自動で鍵を持ってくるようなスクリプト等作成出来ますでしょうか?
鍵が置いてあるサーバ---インターネット----AWS EC2
|
|
ローカルPC