2014年12月7日 星期日

EC2 linux user manager

當第一個user可以連上EC2 server時,接下來就得好好處理一下帳號問題~
每次建server時,都會生出一堆user和password...
好幾組的帳號密碼一定要先開txt記下來~不然一定會發生搞笑事情XD...

參照官方說法
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-users.html

一開始的ec2-user是有sudo權限的~也只能先用他先把帳號跟設定的部份處理掉在說~

1. create account
##先改掉ec2-user的密碼,反正也不知道是什麼,先改個自己知道的
sudo passwd ec2-user

##建立自己需要的user
sudo adduser myuser
sudo passwd myuser

2. add myuser to sudoer (not sudo group)加入後馬上生效,不需要重開機
##先把自己的user加入sudoer,很重要!!
sudo vim /etc/sudoers
##append bottom
myuser ALL=(ALL) ALL

3.  create myuser rsa private key/public key
後來想一想,在公有雲上面,使用囉唆的RSA是相對的安全,所以就照原本的用法吧~
要注意的是,在os上限制登入者的憑證的權限必須是700/600,總之就是只能專屬原所有者使用!
3.a create myuser ssh authorized_key
sudo su myuser
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys





3.b generator myuser's public/private key..
這個和EC2上面的key pair應該是一樣的,但是官網的寫法很奇怪,總之是用別的solution
##create tmp folder
mkdir pem
cd pem
ssh-keygen -b 1024 -f myuser -t dsa
##passphrase just ENTER (without password)
##myuser(private key), myuser.pub(public key)
ls -l  (will see myuser and myuser.pub)
chmod 600 myuser.pub
cd ~
cat pem/myuser.pub >> .ssh/authorized_keys

3.c create putty ppk
vim pem/myuser
##copy all text from terimal console to local pc txt, named myuser.pem
##run puttygen
##load myuser.pem
##generator and save private key(myuser.ppk)
在這邊就是做出私鑰來用,但是有一點是,若是有需要用SFTP...
因為我習慣使用的是FileZille Client,但是他的憑證不支援多一道密碼保護的,
所以若是要用SFTP,那就不要用passphrase,空白就好
還有就是公私鑰似乎會認檔名,檔名不能亂改,所以就用同名的就好~
連putty使用私鑰的方式就一樣了,但是注意只能用在此單一user...
(當初想偷懶全部user用同一套公私鑰~但就是一直有問題,分開各自設定就好了!)

3.d SFTP by FileZilleClient
test SFTP
編輯->設定->連線->SFTP  就是把ppk放進去

連線時,就會解開了,然後只要打user name就可以,跟平常的SFTP一樣~

4. ssh connect and test
因為我習慣使用pietty,pietty會記錄連線資料,所以要是確定平常用的那個user就可以用pietty設好,以後就很方便~
不過在東西還剛開始的時後,還是建議用putty...雖然他每次連都要重設,重新指定一次,
但是因為在一直測不同user...一直換key的檔案也沒差XD...這時putty就比較好用!

補一下putty的設定連線方式圖
檔案放進去後,再打ip


黑白畫面就是打帳號名稱就是了。
接下來就是確定myuser是否正常,而且要確定是否有sudo權限。
(千萬別還沒試出自己的sudo就去把ec2-user給砍了,那會很搞笑的XD)

5. disabled ec2-user sudo
記得先設定好自己的帳號,因為我不習慣用root,也不習慣開放root來用。
所以一向都是以sudoer在做處裡。EC2預設也是不能用root 登入,所以也不用特別去改~
反正RSA就在前面會先踢人了!沒設定RSA的user連第一關都到不了XD...就不管他了~
確定自訂的user都能動之後,就準備把ec2-user給降級了~是說可以砍了他...
不過我是覺得倒也不用這麼狠...而且他本來就是一般user,amz做了點手腳讓他有sudo而已~只要把他的設定檔弄走就好了,重開機後才會生效,所以要是想保有ec2-user的sudo在還沒重開之前還是有救的~~
## here is ec2-user can be sudoer
sudo cat /etc/sudoers.d/cloud-init
## rename/remove or delete the file...
sudo mv /etc/sudoers.d/cloud-init xxxxxxx
##  disabled sudo after reboot
sudo reboot

## login ec2-user to check if sudoer


沒有留言: